数週間前にハスケルで論文を開始し、最初の割り当てを受けました。私は宿題に関する質問が好きではないことを知っているので、それをどうやって行うのか尋ねるつもりはありません。代わりに誰かが私にこれを正しい方向に押し付けることができれば非常に感謝しています。それは特定の質問ではないかもしれないので、ディスカッション/コミュニティウィキでもっと適切でしょうか?Haskell Assignment - 文字列を単語に分割するのに必要な方向
質問:「Hello、World!」という文字列をトークン化します。 - > ["Hello"、 "World"]
Javaのバックグラウンドから来ているので、これについては通常の方法についてすべてを忘れてしまいます。問題は、私がまだハスケルにとって非常に無知だということです。これは私が思いついたものです:
module Main where
main :: IO()
main = do putStrLn "Type in a string:\n"
x <- getLine
putStrLn "The string entered was:"
putStrLn x
putStrLn "\n"
print (tokenize x)
tokenize :: String -> [String]
tokenize [] = []
tokenize l = token l ++ tokenize l
token :: String -> String
token [] = []
token l = takeWhile (isAlphaNum) l
最初の目に見える間違いは何ですか? ありがとうございます。
スタックオーバーフローがいる限り、あなたも、それらを適切にタグ付けし、あなたがしようとしているかを示す(そしてそれは努力であるとして、宿題の質問のように行います誤っている場合)。これは大丈夫です。 –
あなたがJavaのバックグラウンドから忘れていないことの1つは、変数がHaskellで不変であることです。 'token l 'が' l'を修正すると期待しているようです。ならない。 –