-4
有人能解释第5行和第6行吗?在第5行,是|word|
的一个参数?为什么需要那里?另外,在第6行上,也有{|a, b| b}
参数。应该如何阅读第6行?它在做什么?红宝石参数
puts "Input something: " # 1
text = gets.chomp # 2
words = text.split # 3
frequencies = Hash.new(0) # 4
words.each { |word| frequencies[word] += 1 } # 5
frequencies = frequencies.sort_by {|a, b| b} # 6
frequencies.reverse! # 7
红宝石**不是** Ruby on Rails的。 – 2014-09-02 14:55:09
请阅读一些红宝书,或得到一些红宝石教程。这些方法('each'和'sort_by')被称为迭代器,它们接受代码块作为参数。广泛地告诉你它是如何工作的,这是一种宽泛的方式,但是每个红宝石指南都会很好地解释它们。 – BroiSatse 2014-09-02 14:58:05
'word'和'a,b'被称为[block arguments](http://www.ruby-doc.org/core-2.1。2/doc/syntax/calling_methods_rdoc.html#label-Block + Argument) – Stefan 2014-09-02 15:02:18