我有一组对象(nokogiri xml nodes),每个节点都有name
和value
。
我希望以name=value
格式打印它们,而不必迭代for循环。
如果我使用arr *“,”我只能看到下面的值
4900.00,5.00,0.00,-100.00,100.00
6085.00,5.00,1285.00,1185.00,100.00
6015.00,5.00,30.00,-70.00,100.00
5915.00,5.00,0.00,-100.00,100.00
5815.00,5.00,0.00,-100.00,100.00
这里有什么可以做的。
答案 0 :(得分:1)
这样的事情应该有效:
array.each do |n|
puts "#{n.name}=#{n.value}"
end
答案 1 :(得分:1)
假设您的Nokogiri节点具有name
和value
属性(不是子元素),这是一种方式:
# Convert the array into a new array of strings
namevals = my_array.map{ |node| "#{node['name']}=#{node['value']}" }
# See it with space delimiters
puts namevals.join(' ')
可能有用的替代方案:
# Create a hash mapping unique names to values
namevals = Hash[ my_array.map{ |node| [ node['name'], node['value'] } ]