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