设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2405|回复: 1
打印 上一主题 下一主题

[已经解决] 如何初始化Table

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
跳转到指定楼层
1
发表于 2012-9-6 00:05:34 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 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维

Lv4.逐梦者

梦石
0
星屑
6855
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

2
发表于 2012-9-6 10:57:29 | 只看该作者
本帖最后由 后知后觉 于 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]
复制代码

点评

没有简单点的吗  发表于 2012-9-6 17:45











你知道得太多了

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 20:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表