0
我想将int插入到排序列表中的正确位置。例如,如果我插入2它将插入第二个位置。将int插入列表
insert :: Int -> [Int] -> [Int
insert x [] = [x]
insert x (y:ys) = if xsy
then x:y:ys else y insert x ys
任何人都可以指出什么是错的。 感谢
我想将int插入到排序列表中的正确位置。例如,如果我插入2它将插入第二个位置。将int插入列表
insert :: Int -> [Int] -> [Int
insert x [] = [x]
insert x (y:ys) = if xsy
then x:y:ys else y insert x ys
任何人都可以指出什么是错的。 感谢
像丹尼尔·菲舍尔说,你刚才有几个错字:
xsy
应该大概是x < y
。
您在y insert x ys
中缺少运算符;你需要什么操作员在列表上加上一个值? (提示:在与列表模式匹配时使用它。)
您错过了[Int
后的]
。
您的缩进是错误的; then
应该至少与if
对齐,并且else
应在新行上,并与then
对齐。如果使用制表符缩进,则应该将编辑器设置为使用空格缩进(或者,如果必须,将其设置为将制表符显示为8个空格,这正是Haskell所期望的)。
除此之外,你很好去。
基本上,你完成了。它仍然是要修复一些错别字。 – 2012-04-20 23:43:02
@DanielFischer欢呼 – ErHunt 2012-04-21 00:27:57
“任何人都可以指出什么是错的” - 我相信编译器可以告诉你一两件事情有什么不对。学习理解编译器错误对于用任何语言进行编程都非常有用。 – 2012-04-21 16:16:02