String 在haskell中如何比较字符串?
我刚开始学习哈斯凯尔,我正在读一本书,书名是:学习哈斯凯尔非常好 在第二章,有一点我不明白 当我使用“>”操作符比较两个字符串时:String 在haskell中如何比较字符串?,string,haskell,comparison,String,Haskell,Comparison,我刚开始学习哈斯凯尔,我正在读一本书,书名是:学习哈斯凯尔非常好 在第二章,有一点我不明白 当我使用“>”操作符比较两个字符串时: ghci> "Abrakadabra" < "Zebra" True ghci>“阿布拉卡达布拉”
ghci> "Abrakadabra" < "Zebra"
True
ghci>“阿布拉卡达布拉”<“斑马”
真的
我不明白为什么它会变成真的。我试图根据ASCII字符来分析这一点,但我仍然不明白为什么。
我的想法是我们比较字符串中的字符数,但是这个例子改变了我对它的理解
有人能帮我澄清一下吗?这是字典排序,如果你在字典里查东西的话,这是你应该想到的。这不是比较单词的长度。它按照字母顺序排列,A在Z之前。您可以使用GHCI得到答案:
Prelude> "a" > ""
True
Prelude> "a" > " "
True
及
字符“a”大于空格且为零
Prelude> compare "a" ""
GT
Prelude> compare "a" " "
GT