如何仅打印键值对中的值

时间:2014-08-05 09:49:19

标签: ruby

这是我的代码

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

lunch_order.each { |element| puts element }

我希望打印出值,但是这里打印了值和键。

6 个答案:

答案 0 :(得分:3)

您只能使用each_value

循环显示值
h = { "a" => 100, "b" => 200 }
h.each_value {|value| puts value }

您可以阅读有关散列here的api的更多信息。

答案 1 :(得分:3)

您可以使用

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

Codepad Example

答案 2 :(得分:1)

在Ruby中,哈希包含。所以在你的情况下,键是:

<强>键

  • 赖安
  • 埃里克
  • 萨莎
  • 科尔

这些键的值为:

<强>值

  • 馄饨汤
  • 汉堡包
  • 三明治
  • 沙拉
  • 塔可

所有你需要做的就是调用这些值就像你已经完成的那样使用每个循环但是不使用元素作为块中的局部变量,你可以使用这样的东西:

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

答案 3 :(得分:0)

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

文档:http://apidock.com/ruby/Hash/each_pair

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

鉴于您的原始代码

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

您创建了一个哈希,它包含键和值。键位于左侧,值位于右侧。要仅获取值,请使用

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

希望这有帮助。