-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課程。 (我聽說過很棒的東西) –
最近有些問題的答案是「你必須引用你的角色」。我想知道他們是否有關係,以及這些教程或大學課程在哪裏引起混淆。 –