Две проблемы, которые, вероятно, связаны:Создание объектов из YAML, уже инициализирован постоянные
Я retreiving ряд «лиц» из в YAML-файла в массив, и теперь я пытаюсь создать классов из этого массива.
Эти объекты затем помещаются в новый массив.
Это действительно работает отлично, если вы не считаете, что добавленный последний объект заменяет все ранее добавленным.
В моем случае я получаю пять идентичных копий объекта № 5, где мне очень хочется увидеть пять разных.
Я полагаю, что ошибка приводит к тому, что ошибка в моем итераторе приводит к получению всех «лиц» из YAML.
Я получаю cuople предупреждений относительно «повторного использования» констант: 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