[英]How do I use putStrLn on Maybe value in Haskell Stack test?
[英]Haskell: How do I use the Maybe type in recursive functions?
假设我想构造一个函数,将一串字母转换为一个字符列表。
一个例子是我们输入 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]
Haskell 给出了n
和o
不在范围内的错误。 但是n
和o
都是字符,不是吗? 因此[n,o]
是[Char]
,适合输出类型。 问题是什么?
我记得在某处读到 string 只是一个Char
列表,那么String
与[Char]
相同吗?
您使用的Char
类型错误,文字写为'n'
, 'o'
。
你是对的, String
只是[Char]
的别名,所以"no"
是['n','o']
的缩写。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.