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