为什么ruby的单引号字符串会出错?
a=["'string 1'","'string 1 x'"] # => ["'string 1'", "'string 1 x'"] a.sort # => ["'string 1 x'", "'string 1'"]
我用的是Ruby 2.7.4p191。
6yoyoihd1#
结果没有错,这是应该预料到的。字符串的长度无关紧要,字符串是按字典顺序比较的--每个字符都与另一个字符串中相同位置的字符进行比较。空格字符(ASCII 32)位于单引号字符(ASCII 39)之前,因此'string 1 x'实际上“小于”'string 1'。
'string 1 x'
'string 1'
1条答案
按热度按时间6yoyoihd1#
结果没有错,这是应该预料到的。字符串的长度无关紧要,字符串是按字典顺序比较的--每个字符都与另一个字符串中相同位置的字符进行比较。空格字符(ASCII 32)位于单引号字符(ASCII 39)之前,因此
'string 1 x'
实际上“小于”'string 1'
。