首页 > 解决方案 > Ruby - TryRuby 示例“现在都在一起”

问题描述

在这里完成 Ruby 新手,我非常顺利地完成了示例,直到我到达名为“All together now”的部分。
所以提供的代码是:

  def count_plays(year)
  s = get_shakey

  s["William Shakespeare"]
    .select { |k, v|
      v["finished"] == year
    }.each { |key, val|
      puts val["title"]
    }.count
end

puts count_plays(0)

哪个输出:

0 
Answer for the year 1591 should be 4

示例末尾的提示指​​出:

这里还有另一种链接的可能性。看到那条孤独的线 s = get_shakey。您可以添加 [“William Shakespeare”].select { |k, v| 在 get_shakey 的末尾(在这种情况下不需要点)。

但是我无法弄清楚如何正确添加它,因为我没有从中得到任何输出。

感谢您提供任何解决此问题的帮助和提示。

标签: ruby

解决方案


所有这一切都是说,而不是这个:

  s = get_shakey

  s["William Shakespeare"]
    .select { |k, v|
      v["finished"] == year
    }.each { |key, val|
      puts val["title"]
    }.count

你来做这件事:

  get_shakey["William Shakespeare"]
    .select { |k, v|
      v["finished"] == year
    }.each { |key, val|
      puts val["title"]
    }.count

我所做的只是将 替换为s["William Shakespeare"]get_shakey["William Shakespeare"]因为s与 相同get_shakey。它只是试图表明您可以将事物编写为单独的表达式(在此过程中使用变量),或者如果您愿意,可以将它们组合成一个表达式。


推荐阅读