こんにちは、文字列内の単語を合計するだけの入力 "=" で (7 行目) 解析エラーが発生しています。助けていただければ幸いです。ありがとう。
module Main where
main = do
putStr "Enter a string: "
input <- getContents
value = unwords . sum . words input
putStrLn (value)
こんにちは、文字列内の単語を合計するだけの入力 "=" で (7 行目) 解析エラーが発生しています。助けていただければ幸いです。ありがとう。
module Main where
main = do
putStr "Enter a string: "
input <- getContents
value = unwords . sum . words input
putStrLn (value)
この線:
value = unwords . sum . words input
構文的に有効ではありません。letステートメントが必要です。
let value = unwords . sum . words input
これはまだ有効ではありません。関数(3つの関数の合成)を入力に適用する必要があります。
let value = (unwords . sum . words) input
多分:
let value = unwords . sum . words $ input
String
入力がaであり、結果が( )words
のリストであるため、これはまだ有効ではありません。したがって、文字列を何らかのタイプ(s?)に読み込んでから、に変換し直す必要があります。 単語の最後に合計が1つしかないため、役に立ちません(単語のリストに対して、単語を削除する必要があります)。String
[String]
Num
Integer
String
unwords
let value = show . sum . map read. words $ input
タイプによっては、読み取りまたは合計に注釈を付けて、それがanInt
またはaDouble
またはその他のものであるかどうかを指定することもできます。