对存储为哈希值的午餐项进行排序

时间:2013-10-15 01:03:21

标签: ruby hash iteration

你能帮我解决这个问题吗?

  

编写必要的代码以打印每个键值的值   在lunch_order中配对。 (使用puts而不是print,所以每个值都是   印在自己的线上。)

代码

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

提示: 例如,你应该打印

wanton soup
hamburger
and so on. 

含义:每个y值应该在它自己的行上

我尝试了各种语法,但似乎无法弄清楚我做错了什么。有人可以解释一下解决这个问题的正确方法吗?我将不胜感激。


我的解决方案

我想出了答案:创建一个y_value数组,然后在其上使用每个方法。例如:

y_value = ["wonton soup", "hamburger", "sandwich", "salad", "taco"]
y_value.each { |x| puts "#{x}" }

1 个答案:

答案 0 :(得分:0)

更惯用的解决方案

您的解决方案不会对值进行排序。当然有很多方法可以解决这个问题,但以下内容既简短又不俗:

lunch_order.values.sort.each { |lunch| puts lunch }

这会将以下内容发送到标准输出:

  

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