2013-02-04 59 views
-2

我是Ruby的新手,並且想要了解下面的一段代碼。解釋Ruby中「max」的行爲

當我有串的陣列,並與MAX函數操作它:

names = ["aa", "bb", "cc"] 
names.max = "cc" 

,如果我這裏有一個哈希,

calendar["January", :cold, "February", :colder] 
calendar.max = ["January", :cold] 

我不能夠理解它是否是最長的單詞大小或正在顯示的索引大小最大的成員。任何人都可以解釋行爲嗎?我錯過了非常基本的東西嗎?

+1

這是一個奇怪的哈希你在那裏。你確定這是一個哈希? –

回答

4

數組按相應位置的元素進行排序。字符串按字典順序排序。 "J"是「更大」,因此"F",因此,["January", :cold]大於["February", :colder],無論字符串長度和其餘數組元素。

months = %w[january february march april may june july august september october november december] 

months.sort.join(', ') # => "april, august, december, february, january, july, june, march, may, november, october, september"