如何传递哈希范围以从索引1到最后一次迭代?
h = {}
h[1..-1].each_pair do |key,value|
puts "#{key} = #{value}
end
Run Code Online (Sandbox Code Playgroud)
此代码返回错误.我怎么可以在哈希中传递范围?
编辑:
我想打印第一个键和值而不进行任何计算.
从第二个键和值我想在我的哈希值上做一些计算.
为此我写了这段代码... store_content_in_hash包含键和值.
first_key_value = store_content_in_hash.shift
f.puts first_key_value[1]
f.puts
store_content_in_hash.each_pair do |key,value|
store_content_in_hash[key].sort.each {|v| f.puts v }
f.puts
end
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来解决这个问题?
仅在Ruby 1.9中:
给出哈希:
h = { :a => :b, :c => :d, :e => :f }
Run Code Online (Sandbox Code Playgroud)
像这样:
Hash[Array(h)[1..-1]].each_pair do |key, value|
# ...
end
Run Code Online (Sandbox Code Playgroud)
这将迭代以下散列,{ :c => :d, :e => f }因为范围排除了第一个键/值对.
| 归档时间: |
|
| 查看次数: |
3480 次 |
| 最近记录: |