我是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