0
ブロックを書くときは、ブロックmain = do ...
だけを書くと完全に動作します。私はそれだけでもstories = do...
ブロックを置くときにも動作します。たぶん、インデントの問題があります。ここで入力 "="の構文解析エラーが発生しました。
はコードです:それと間違っている
stories = do
let str0 = "There once was "
str1 <- ["a princess ", "a cat ", "a little boy "]
let str2 = "who lived in "
return ( str0 ++ str1 )
main = do
let len = length stories
putStrLn ("Enter a number from 0 to " ++ show (len - 1))
n <- readLn
putStrLn ""
putStrLn (stories !! n)
何?
だけを確認するために、OPの問題は、彼らは基本的に 'do'ブロック内の' main'を定義しようとしているということです。 – BalinKingOfMoria