Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby如何找到散列中大于x的每个值?_Ruby_Ruby Hash - Fatal编程技术网

Ruby如何找到散列中大于x的每个值?

Ruby如何找到散列中大于x的每个值?,ruby,ruby-hash,Ruby,Ruby Hash,我对Ruby有点陌生,在学习哈希时遇到了问题。我有一个散列,它包含这个月内的月份和天数。我需要打印每一张有31天的照片 months = { "MAR" => 31, 'APR' => 30, 'MAY' => 31, 'JUN' => 30 } 您可以使用: months.select { |_month, days| days > 30 } 前者提供符合条件的所有结果(days>30) 以下是文件: 一旦获得

我对Ruby有点陌生,在学习哈希时遇到了问题。我有一个散列,它包含这个月内的月份和天数。我需要打印每一张有31天的照片

months = {
  "MAR" => 31,
  'APR' => 30,
  'MAY' => 31,
  'JUN' => 30
}
您可以使用:

months.select { |_month, days| days > 30 }    
前者提供符合条件的所有结果(
days>30

以下是文件:

一旦获得了所需的值,就可以将它们打印到控制台(或根据需要输出),例如:


尽管如此,在打印结果之前指定一个值意味着两个循环,而这可以通过使用简单的


这将更有效,因为所涉及的搅动更少:)

检查
选择带有块的方法

months.select{|key, value| value > 30}

就像我说的那样DExactly:)单击链接时没有看到答案。非常感谢。你的上一个代码正在运行,对我帮助很大!很好,很高兴我能帮助@Silka:)如果你觉得你在这里得到了你所需要的,并且答案充满了简短的内容,如果你点击勾号接受,我将不胜感激。梅怎么了?一定觉得被抢了。对不起,几个月来有点打字错误:)
months.each do |month, days|
  puts("#{month} has #{days} days") if days > 30
end
months.select{|key, value| value > 30}