我是Haskell的新手。我正在嘗試編寫一個程序,該程序採用兩個值和一個列表,並將第二個值的列表中的第一個值的每個實例替換。例如。 repOcc 'n' 'i' "pink"
將返回"piik"
。Haskell用另一個值替換列表中的值
以下是我的代碼:
repOcc :: t -> t -> [t] -> [t]
repOcc x y (z:zs) = if z == x
then z = y
subst x y zs
else subst x y zs
我在編譯時收到的錯誤是:
rev.hs:3 :32: error:
parse error on input '='
Perhaps you need a 'let' in a 'do' block?
e.g. 'let x = 5' instead of 'x = 5'
Failed, modules loaded: none.
請註明代碼從您的期望如何偏離:
我們可以進一步通過使ETA - 還原的使用提高了代碼。是否有編譯器錯誤?那是什麼錯誤?程序是否輸出錯誤?什麼是輸入和錯誤輸出的例子? – erisco
開始更簡單:如果'x'等於'from'和'x'等於否則不變,您可以編寫一個函數f from to x',計算爲'to'? – Ryan
在編譯時,我得到一個解析錯誤,編譯器建議我在'do block'中添加'let' – RNee