Ruby 如何仅打印键值对中的值

Ruby 如何仅打印键值对中的值,ruby,Ruby,这是我的密码 lunch_order = { "Ryan" => "wonton soup", "Eric" => "hamburger", "Jimmy" => "sandwich", "Sasha" => "salad", "Cole" => "taco" } lunch_order.each { |element| puts element } 我希望打印出值,但在这里,值和键都被打印。午餐订单。每对{key,value{put val

这是我的密码

lunch_order = {
  "Ryan" => "wonton soup",
  "Eric" => "hamburger",
  "Jimmy" => "sandwich",
  "Sasha" => "salad",
  "Cole" => "taco"
}

lunch_order.each { |element| puts element }

我希望打印出值,但在这里,值和键都被打印。

午餐订单。每对{key,value{put value}


文档:

您只能使用

您可以阅读有关哈希api的更多信息。

您可以使用

lunch_order.each { |key, value| puts value}

在Ruby中有很多方法可以做到这一点:

lunch_order.values.each { |element| puts element }

在Ruby中,哈希包含。因此,在您的情况下,关键是:

  • 瑞安
  • 埃里克
  • 吉米
  • 萨沙
  • 科尔
这些键的值为:

  • 馄饨汤
  • 汉堡包
  • 三明治
  • 色拉
  • 玉米卷
调用这些值所需要做的就是像以前一样使用each循环,但不是使用element作为块内的局部变量,而是使用如下内容:

lunch_order.each do { |key, value| puts value }

给定您的原始代码

lunch_order = {
  "Ryan" => "wonton soup",
  "Eric" => "hamburger",
  "Jimmy" => "sandwich",
  "Sasha" => "salad",
  "Cole" => "taco"
}
您创建了一个哈希,它由键和值组成。键在左边,值在右边。要仅获取值,请使用

lunch_order.values.each{|value| puts value}

希望这有帮助。

您可以将块变量写成
| | |,value |
| | |键,value |
来提请注意您没有在块中使用键的事实。Dickie,我看到Brutus通过将
每对
替换为
每对
,获得了
+2
,当你还在忍受
0
时。生活是不公平的!罢工。在Ruby中,有两种声明块的方法。可以使用do或end,也可以使用括号。如果去掉do这个词,这会变得更简单。更少的空间意味着更少的代码。是的,@DarkMouse,但是如果没有
end
,就不能有
do
,也不能同时有
do..end
和括号。上面的Joe行引发了一个语法错误。他需要删除
do
或删除括号并添加
end
lunch_order.values.each{|value| puts value}