Мне было интересно, если я здесь что-то не так делаю.
вот код ruby 1.9.2, который я только что обновил с 1.8.6
def prepares_data(hash_nodes)
@array_of_node = Array.new
hash_nodes.each do | node |
nodeId = node.values_at('self')[0].split('/').last
text = node.values_at('data')[0].values_at('name')
puts text
@array_of_node << { :nodeId => nodeId, :text => text }
end
puts @array_of_node
return @array_of_node
end
Так что, в основном, код просто добавляет кучу Hash в Array, и все в порядке. Когда я печатаю текст внутри цикла, я также получаю текстовый результат
What allergies do you have?
What dont you like?
What is your specific diet?
Однако, когда я распечатываю @array_of_node, я получаю это
{:nodeId=>"7", :text=>["What allergies do you have?"]}
{:nodeId=>"8", :text=>["What dont you like?"]}
{:nodeId=>"9", :text=>["What is your specific diet?"]}
В тексте у меня есть лишние ["..."], которые я не хочу. Как мне избавиться от этого, и я действительно не понимаю эту часть, потому что этот код прекрасно работал в ruby 1.8.7. Я сделал что-то не так здесь?
Большое спасибо.