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

问题描述 投票:0回答:1

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

此字符串比较“3”<=“9”;;评估为“bool = true”3小于9,因此这是有道理的。

那为什么字符串比较“3”<=“10”;;评价为“bool = false”?它是否与字符串的长度或它们的ASCII值有关?

感谢您的时间。

ocaml string-comparison
1个回答
8
投票

这是一个正常的lexicographical order

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

将字符串A的第一个字符与字符串B的第一个字符进行比较。如果它们不同,则表示您已完成。

如果它们是相同的,则将字符串A的第二个字符与字符串B的第二个字符进行比较。如果它们不同,则表示您已完成。

如果他们是相同的,那么第三个角色......

这一直持续到两个字符串同时用完字符(然后它们相等)或其中一个字符串先用完(该字符串“小于”另一个字符串)。

© www.soinside.com 2019 - 2024. All rights reserved.