Ruby 逻辑字符串比较(例如 "a" > "b")
Ruby Logical String comparison (eg. "a" > "b")
嗨,
我想了解 Ruby 在进行逻辑比较时如何处理字符串。
我试过了:
"a" > "b" #--> false
"ab" > "b" #--> false
"z" > "az" #--> true
# i even tried
"z" > "abcdefghijklmnopqrstuvwxyz" #--> true
就像 Ruby 给从 a(最弱)到 z(最强)的字符赋予权重,它甚至不检查从第一个字符开始的更远的字符。
我希望对这种现象做出解释。非常感谢。
字符串按照单词本中的顺序排列。
如果 string1
在本书中出现的时间晚于 string2
。,则 string1 > string2
为真
"a" 在第 1 页,"b" 在第 30 页,所以 "a">"b"
是错误的。
同样的原因,如果你有一个充满文件名的文件的文件夹,10.txt
和 11.txt
出现在 1.txt
和 2.txt
[=19 之间=]
它叫做lexicographical ordering,如果第一个字母不同,它会忽略第二个字母。
嗨,
我想了解 Ruby 在进行逻辑比较时如何处理字符串。
我试过了:
"a" > "b" #--> false
"ab" > "b" #--> false
"z" > "az" #--> true
# i even tried
"z" > "abcdefghijklmnopqrstuvwxyz" #--> true
就像 Ruby 给从 a(最弱)到 z(最强)的字符赋予权重,它甚至不检查从第一个字符开始的更远的字符。
我希望对这种现象做出解释。非常感谢。
字符串按照单词本中的顺序排列。
如果string1
在本书中出现的时间晚于 string2
。,则 string1 > string2
为真
"a" 在第 1 页,"b" 在第 30 页,所以 "a">"b"
是错误的。
同样的原因,如果你有一个充满文件名的文件的文件夹,10.txt
和 11.txt
出现在 1.txt
和 2.txt
[=19 之间=]
它叫做lexicographical ordering,如果第一个字母不同,它会忽略第二个字母。