Ruby数组打印



我有一个对象数组(nokogiri xml节点),每个节点都有namevalue。我想以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

假设您的Nokogiri节点具有namevalue属性(不是子元素),这里有一种方法:

# 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'] } ]

应该这样做:

array.each do |n|
  puts "#{n.name}=#{n.value}"
end

相关内容

  • 没有找到相关文章

最新更新