首先,我在 ubuntu 11.10 下使用 ghci 来运行 haskell 代码。第二这是我第一次尝试haskell。第三,我如何将文件加载到 ghci 中,它需要放在哪里,它的扩展名应该是什么?我知道 ":l "file.haskelxtnsn"" 是如何加载文件的,但这是我迄今为止最好的猜测。
看到我可以执行上述操作,此代码如何查找以升序合并两个可能无限大小的列表。(由于缩进,我不能把它放在前奏>提示符中???)给定 [1, 2, 3] 和 [4, 5, 6] 我应该得到 [1, 2, 3, 4, 5, 6 ],我认为用法是“take 10 (merge listx listy)”
let merge x y = (min (head x) (head y)) :
case (min (head x) (head y)) of
head x -> merge (drop 1 x) y
head y -> merge x (drop 1 y)
伪:
- 输出列表头部的最小值
- 如果第一个列表头是输出调用与第一个列表的其余部分和第二个列表合并
- 否则调用与第一个列表和第二个列表的其余部分合并