我需要编写一个Haskell程序,它接受一个整数和一个列表,并重复列表中最多n位的字符:
Int -> [a] -> [a]
Run Code Online (Sandbox Code Playgroud)
例如,3 "pink"会给予"pin"
6 "blue"给予"bluebl"
我是Haskell的新手,所以不能形成逻辑,或者不知道是否有任何功能可以做到.
我对 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
Run Code Online (Sandbox Code Playgroud)
我在编译时收到的错误是:
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.
Run Code Online (Sandbox Code Playgroud) haskell ×2