【发布时间】:2017-08-27 23:36:20
【问题描述】:
我对 Haskell 很陌生。我正在尝试编写一个程序,它接受两个值和一个列表,并用第二个替换列表中第一个值的每个实例。例如。 repOcc 'n' 'i' "pink" 将返回 "piik"。
以下是我的代码:
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.
【问题讨论】:
-
请说明代码与您的预期有何不同。有编译器错误吗?那是什么错误?程序是否给出不正确的输出?输入和错误输出的示例是什么?
-
开始更简单:如果
x等于from和x否则不变,你能写一个函数f from to x计算为to吗? -
编译时出现解析错误,编译器建议我在“do block”中添加“let”
-
@RNee 请编辑您的问题以包含解析错误的确切文本。
-
进入 Haskell 的第一步就是忘记你曾经听说过的任务。
标签: haskell