如何在haskell中比较字符串?

时间:2014-05-11 03:33:18

标签: string haskell comparison

我刚刚开始学习Haskell,而我正在读一本名为“为了好大学而学习哈斯克尔!”的书。

在第2章中,有一些我无法得到的东西。

当我使用“>”比较两个字符串时运营商为前:

ghci> "Abrakadabra" < "Zebra"

True

我不明白为什么它会返回true。我试图根据ASCII字符分析这个,但我仍然不明白为什么。 我认为我们比较字符串中的字符数,但这个例子改变了我对它的理解。

有人可以帮我澄清一下吗?

3 个答案:

答案 0 :(得分:12)

这是词典排序,如果您在字典中查找内容,就应该期待这种顺序。

答案 1 :(得分:3)

这不是比较单词的长度。它在Z之前查看字母顺序A。

答案 2 :(得分:1)

你有一个使用GHCI的答案:

Prelude> "a" > ""
True
Prelude> "a" > " "
True

Prelude> compare "a" ""
GT
Prelude> compare "a" " "
GT

角色&#39; a&#39;大于空间而没有任何东西