list - 比较 Haskell 中的列表,或者更具体地说,什么是字典顺序?

标签 list haskell

我刚刚开始这个不错的 hashkell 初学者教程:

http://learnyouahaskell.com

on this page on lists他解释说列表是按字典顺序比较的,他举了这个例子:

ghci> [3,2,1] > [2,10,100]
True

从一些谷歌搜索来看,在我看来,字典顺序意味着按字母顺序或序号顺序(?),但我仍然无法理解这种评估为 True 的意义。

我在这里遗漏了一些明显的东西,有人可以帮忙吗?

最佳答案

计算结果为 True因为 3 大于 2。找到结果后,比较到此停止。他在证明 2 和 10 没有进行比较。数组比较的结果是true .如果第一个数组也以 2 开头,则比较结果为 false .

一个很好的例子,当字典排序不会导致用户期望的结果是 Windows 中的文件名。如果您有名为 xyz1.txt 的文件, xyz2.txt , xyz10.txtxyz20.txt ,字典顺序为:xyz1.txt , xyz10.txt , xyz2.txt , xyz20.txt

关于list - 比较 Haskell 中的列表,或者更具体地说,什么是字典顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3651144/

相关文章:

Python,使用列表

haskell - 为什么这不能在恒定内存中运行?

haskell - cabal 安装 wx 缺少 C 库

Python 列出函数外的列表

haskell - 对包含 "Just"的 Maybe 返回进行操作

haskell - 了解 Monad Transformer 类型签名

haskell - 类型之谜。为什么这段代码可以编译?

java - 子列表抛出的 ConcurrentModificationException

java - 结果集到通用列表列表

c++ - 在C++中单独定义和初始化List