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

ruby – 如何迭代哈希数组并将值返回到单个字符串中?

发布时间:2020-12-17 04:26:06 所属栏目:百科 来源:网络整理
导读:对不起,如果这很明显,我只是没有得到它.如果我有一系列哈希像: people = [{:name = "Bob",:occupation= "Builder"},{:name = "Jim",:occupation ="Coder"}] 我想迭代数组并输出字符串,如:“Bob:Builder”.我该怎么办?我理解如何迭代,但我仍然有点迷失.现
对不起,如果这很明显,我只是没有得到它.如果我有一系列哈希像:
people = [{:name => "Bob",:occupation=> "Builder"},{:name => "Jim",:occupation =>
"Coder"}]

我想迭代数组并输出字符串,如:“Bob:Builder”.我该怎么办?我理解如何迭代,但我仍然有点迷失.现在,我有:

people.each do |person|
  person.each do |k,v|
    puts "#{v}"
  end
end

我的问题是我不明白如何返回两个值,只分别返回每个值.我错过了什么?

谢谢您的帮助.

解决方法

干得好:
puts people.collect { |p| "#{p[:name]}: #{p[:occupation]}" }

要么:

people.each do |person|
  puts "#{person[:name]}: #{person[:occupation]}"
end

在回答关于访问数组中元素中的值的更一般的查询时,您需要知道人是一个哈希数组.散列有一个键方法和值方法,分别返回键和值.考虑到这一点,更通用的解决方案可能如下所示:

people.each do |person|
  puts person.values.join(': ')
end

(编辑:李大同)

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

    推荐文章
      热点阅读