-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