加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 迭代特定范围的哈希值

发布时间:2020-12-17 03:51:52 所属栏目:百科 来源:网络整理
导读:如何传递哈希范围以从索引1到最后一次迭代? h = {}h[1..-1].each_pair do |key,value| puts "#{key} = #{value}end 此代码返回错误.我怎么可以在哈希中传递范围? 编辑: 我想打印第一个键和值而不进行任何计算. 从第二个键和值我想在我的哈希值上做一些计
如何传递哈希范围以从索引1到最后一次迭代?

h = {}

h[1..-1].each_pair do |key,value|
  puts "#{key} = #{value}
end

此代码返回错误.我怎么可以在哈希中传递范围?

编辑:

我想打印第一个键和值而不进行任何计算.

从第二个键和值我想在我的哈希值上做一些计算.

为此,我写了这段代码……
????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

有没有更好的方法来解决这个问题?

解决方法

仅在Ruby 1.9中:

给出哈希:

h = { :a => :b,:c => :d,:e => :f }

像这样:

Hash[Array(h)[1..-1]].each_pair do |key,value|
    # ...
end

这将迭代以下哈希{:c => :d,:e => f}作为第一个键/值对被范围排除.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读