3

12 34 56Haskell を使用して入力を 3 つの整数に読み込みたい。

単一の整数の場合、myInteger <- readLn. しかし、この場合、最初に行を読み取り、次にすべてのスペースを , に置き換えるものを除いて、解決策は見つかりませんでした,(次のようなものを使用します:

spaceToCommas str =
  let repl ' ' = ','
      repl  c =   c
  in map repl str

)そして、read '[' ++ str ++ ']'非常にハックな感じの呼び出し。また、 3 つの整数を読み取りたいと述べることはできません。標準入力から任意の量の整数を読み取ろうとします。

もっと良い方法があるはずです。

外部パッケージに依存しないソリューションが欲しいことに注意してください。Parsec などを使用することはもちろん素晴らしいことですが、この単純な例では本格的な Parser Combinator フレームワークを使用する必要はありませんよね?

4

1 に答える 1