Две проблемы, которые, вероятно, связаны:
Я извлекаю несколько «персон» из 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
Persons-class
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