Project1

标题: 如何初始化Table [打印本页]

作者: wbsy8241    时间: 2012-9-6 00:05
标题: 如何初始化Table
本帖最后由 wbsy8241 于 2012-9-6 00:18 编辑

Table 里没有clear 用
  1. class Table
  2.   def clear
  3.     xsize.times{|x|ysize.times{|y|zsize.times{|z|self[x,y,z]=0}}}
  4.   end
  5. end
复制代码
这个是手动制作循环代入0

但是如果维度不一样就会报错


菜鸟飞啊飞提问的里面 提到的判断是不是1
http://rpg.blue/forum.php?mod=viewthread&tid=203052
由于默认每维初试都是1
如果生成那维是1就判断不了了
比如 生成 Table.new(5,5,1) 就会被判断为2维 dsu_plus_rewardpost_czw
作者: 后知后觉    时间: 2012-9-6 10:57
本帖最后由 后知后觉 于 2012-9-6 11:06 编辑


  1. class Table
  2.   def clear
  3.     begin
  4.       self[0,0,0]
  5.       xsize.times{|x|ysize.times{|y|zsize.times{|z|self[x,y,z] = 0}}}
  6.     rescue ArgumentError
  7.       begin
  8.         self[0,0]
  9.         xsize.times{|x|ysize.times{|y|self[x,y] = 0}}
  10.       rescue ArgumentError
  11.         xsize.times{|x|self[x] = 0}
  12.       end
  13.     end
  14.   end
  15. end
  16. a = Table.new(5,5,1)
  17. b = Table.new(5,5)
  18. c = Table.new(5)
  19. a[1,1,0] = 2
  20. b[1,1] = 3
  21. c[1] = 4
  22. msgbox_p a[1,1,0],b[1,1],c[1]
  23. a.clear
  24. b.clear
  25. c.clear
  26. msgbox_p a[1,1,0],b[1,1],c[1]
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1