2016-12-20 60 views
-2

Hy,Ruby邏輯字符串比較(例如「a」>「b」)

我想了解Ruby在處理邏輯比較時如何處理字符串。

我想:

"a" > "b" #--> false 
"ab" > "b" #--> false 
"z" > "az" #--> true 
# i even tried 
"z" > "abcdefghijklmnopqrstuvwxyz" #--> true 

是像Ruby賦予權重人物從(最弱)到Z(最強),它甚至不從只有第一個字符檢查furter。

我希望能解釋這種現象。非常感謝你。

+0

請參閱['字符串#<=>'](http://ruby-doc.org/core-2.3.2/String.html#method-i-3C-3D-3E) – Stefan

+1

這只是標準的字典排序。 –

回答

1

字符串按字母順序排列。

string1 > string2如果string1在本書後面出現比string2更爲確切。

「a」在頁面1上,「b」在頁面30上,所以"a">"b"是錯誤的。

這是同樣的道理,如果你有一個完整的文件的文件夾,在文件名的數字,10.txt11.txt出現1.txt2.txt

之間這就是所謂的lexicographical ordering,它忽略了第二封,如果第一個字母不同, 。

+0

非常感謝。這個答案很清楚,也是解釋性的 – derei

相關問題