Project1

标题: [初学脚本]关于循环取数组/哈希表内值的问题 [打印本页]

作者: 774741359    时间: 2013-1-26 17:54
标题: [初学脚本]关于循环取数组/哈希表内值的问题
现在我这里有6个哈希表,名字随意。
数组第一项是“名字”
问题是,我要分别取出“名字”,如果用循环的话能取出来吗
  1.   
  2.   for i in 1..6
  3.     name=$i["名字"]#i处填什么?
  4.     self.contents.draw_text(0,0,100,30*i+18*(i-1),name,24)
  5.     end
复制代码

作者: 945127391    时间: 2013-1-27 13:48
本帖最后由 945127391 于 2013-1-27 20:54 编辑

你是想说,有一下面这一些哈希表:
  1. $1 = {"名字" => "XXX", "选项2" => "XX"}
  2. $2 = {"名字" => "XXX", "选项2" => "XX"}
  3. $3 = {"名字" => "XXX", "选项2" => "XX"}
  4. $4 = {"名字" => "XXX", "选项2" => "XX"}
  5. $5 = {"名字" => "XXX", "选项2" => "XX"}
  6. $6 = {"名字" => "XXX", "选项2" => "XX"}
复制代码
然后要把每个哈希表"名字"一项提出来?
这样是不行的吧……
试试把哈希表写成以下的形式:
  1. a = []
  2. a[0] =  {"名字" => "XXX", "选项2" => "XX"}
  3. a[1] =  {"名字" => "XXX", "选项2" => "XX"}
  4. a[2] =  {"名字" => "XXX", "选项2" => "XX"}
  5. a[3] =  {"名字" => "XXX", "选项2" => "XX"}
  6. a[4] =  {"名字" => "XXX", "选项2" => "XX"}
  7. a[5] =  {"名字" => "XXX", "选项2" => "XX"}
复制代码
然后用:
  1. for i in 0...s.size
  2.   name = s[i]["名字"]
  3.   self.contents.draw_text(0,0,100,30*i+18*(i-1),name,24)
  4. end
复制代码
以上未经测试。
$1、$2……这种命名方法不行的哦,
而且$i会被系统视为一个变数,而不会随着i的变化而变化……




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