-2
假设我想要构造一个将字符串转换为字符列表的函数。Haskell:如何在递归函数中使用Maybe类型?
一个例子是我们输入ABC,它会输出[a,b,c]
我构建的功能:
tester:: String-> [Char]
tester []= []
tester (x:xs)= case x of
a -> a: (tester xs)
b -> b: (tester xs)
c -> c: (tester xs)
otherwise -> [n,o]
哈斯克尔给出的错误,n
和o
不在范围之内。 但n
和o
都是字符他们?因此[n,o]
是一个[Char]
,适合输出类型。问题是什么?
我记得在某处读到的字符串只是一个列表Char
s,那么String
与[Char]
一样吗?
这与'也许'无关。和不。 'tester'只是你的code_中的一个字符序列,但它不是'String'。你必须使用'''作为字符,例如'['n','o']'或'“no”'。 'a - > ...'也会一直匹配。你想要''a' - > ...'。 – Zeta
看,我喜欢有更多的人进入Haskell,我试图在这里变得温文尔雅,但也许自己学习Haskell不应该是您第一次使用编程语言?也许你可以尝试一个很好的“编程介绍”Coursera课程。 (我听说过很棒的东西) –
最近有些问题的答案是“你必须引用你的角色”。我想知道他们是否有关系,以及这些教程或大学课程在哪里引起混淆。 –