在Ocaml中,比较字符串(包含数字)时,如何评估布尔值?

时间:2019-03-19 00:12:06

标签: ocaml string-comparison

字符串比较“ 3” <=“ 4” ;;评估为“ bool = true” 这里3小于4,所以这是有道理的。

此字符串比较为“ 3” <=“ 9” ;;评估为“ bool = true” 3小于9,所以这很有意义。

为什么要进行字符串比较“ 3” <=“ 10” ;;评估为“布尔=假”? 它与字符串的长度或ASCII值有关吗?

谢谢您的时间。

1 个答案:

答案 0 :(得分:8)

这是正常的lexicographical order

"3" > "10"的原因与"d" > "ba"相同。

将字符串A的第一个字符与字符串B的第一个字符进行比较。如果它们不同,就可以了。

如果它们相同,则将字符串A的第二个字符与字符串B的第二个字符进行比较。如果它们不同,则操作完成。

如果它们相同,则第三个字符...

这将继续,直到两个字符串同时用完字符(然后相等)或其中一个字符串先用完(该字符串“小于”另一个字符串)为止。