12 34 56
Haskell を使用して入力を 3 つの整数に読み込みたい。
単一の整数の場合、myInteger <- readLn
. しかし、この場合、最初に行を読み取り、次にすべてのスペースを , に置き換えるものを除いて、解決策は見つかりませんでした,
(次のようなものを使用します:
spaceToCommas str =
let repl ' ' = ','
repl c = c
in map repl str
)そして、read '[' ++ str ++ ']'
非常にハックな感じの呼び出し。また、 3 つの整数を読み取りたいと述べることはできません。標準入力から任意の量の整数を読み取ろうとします。
もっと良い方法があるはずです。
外部パッケージに依存しないソリューションが欲しいことに注意してください。Parsec などを使用することはもちろん素晴らしいことですが、この単純な例では本格的な Parser Combinator フレームワークを使用する必要はありませんよね?