【发布时间】:2012-02-14 13:24:16
【问题描述】:
两个问题,可能是相关的:
我正在从 YAML 文件中检索一些“人员”到一个数组,现在我正在尝试从该数组创建类。
然后将这些对象放入一个新数组中。
如果您不考虑最后添加的对象替换了之前添加的 all 的事实,它实际上效果很好。
在我的例子中,我得到了对象 #5 的五个相同副本,我更喜欢看到五个不同的副本。
我的猜测是错误导致我的迭代器中某处从 YAML 中获取所有“人员”。
关于常量的“重用”,我收到了许多警告: NEWSTR 和 NEWAL。
getPost = 0
loopa = 0
while loopa < personsInYAML
NEWSTR = TEST.fetch(getPost)
NEWAL = NEWSTR.split(' ')
getPost+=1
puts "*****************************************"
nyloop = loopa+1
puts "PERSON: " + nyloop.to_s + " name: " + NEWAL.fetch(1)
nameToArray = Person.new
outputArray.insert(loopa, nameToArray)
loopa+=1
end
人物类
class Person
def initialize
@name
@age
@length
@weight
@misc
end
def name
name = NEWAL.fetch(1)
return name
end
if NEWAL.include?("age:")
def age
x = NEWAL.index("age:")+1
age = NEWAL.fetch(x)
return age
end
end
if NEWAL.include?("length:")
def length
x = NEWAL.index("length:")+1
length = NEWAL.fetch(x)
return length
end
end
if NEWAL.include?("weight:")
def weight
x = NEWAL.index("weight:")+1
weight = NEWAL.fetch(x)
return weight
end
end
if NEWAL.include?("misc:")
def misc
x = NEWAL.index("misc:")+1
misc = NEWAL.fetch(x)
return misc
end
end
end
【问题讨论】:
标签: ruby initialization constants iteration