我一直在Haskell工作一個多星期,所以我正在練習一些可能對某事有用的函數。我想遞歸地比較兩個列表。當第一個列表出現在第二個列表中時,我只想返回列表開始匹配的索引。會從0開始。這裏的指數是什麼,我想執行澄清一個例子:如何找到一個列表作爲另一個列表出現的索引?
subList [1,2,3] [4,4,1,2,3,5,6]
結果應該是2
我試圖代碼時:
subList :: [a] -> [a] -> a
subList [] = []
subList (x:xs) = x + 1 (subList xs)
subList xs = [ y:zs | (y,ys) <- select xs, zs <- subList ys]
where select [] = []
select (x:xs) = x
我收到「輸入錯誤」,我無法弄清楚爲什麼我的語法不起作用。有什麼建議麼?
我得到的錯誤,但沒有人說「輸入錯誤」。你確定你粘貼了你的代碼嗎?你有沒有試過用*這個代碼做一個文件,以確保錯誤在這部分? –