Ruby逻辑字符串比较(例如" a">" b")

时间:2016-12-20 14:20:19

标签: ruby string string-comparison boolean-logic

HY,

我试图理解Ruby在进行逻辑比较时如何处理字符串。

我试过了:

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

就像Ruby一样,从(最弱)到z(最强)的角色给予重量,并且它甚至不会仅从第一个角色进行检查。

我很感激这种现象的解释。非常感谢你。

1 个答案:

答案 0 :(得分:1)

字符串按照字典中的顺序排序。

如果string1 > string2出现在本书的后面而不是string1,则

string2为真。

""在第1页," b"在第30页上,因此"a">"b"为假。

同样的原因是,如果您的文件夹中包含文件名中包含数字的文件夹,则10.txt11.txt之间会显示1.txt2.txt < / p>

它被称为lexicographical ordering,如果第一个字母不同,它会忽略第二个字母。