兩個問題,這可能是相關的:從YAML創建的對象,已初始化恆
我retreiving一批從YAML文件到一個數組中「人」的,現在我想創建來自該陣列的類。
這些對象然後放置在一個新的數組中。
它實際上工作得很好,如果你不考慮事實,最後添加的對象替換所有以前添加。
在我的情況下,我得到了五個相同的對象#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