3

getArgs はどのように機能しますか。ターミナルからテキスト ファイルを読み込もうとしています。その内容は、定義済みの関数の 1 つに送信されます。誰かがサンプルコードを投稿して、それがどのように機能するかを教えてもらえますか. ありがとう。

4

2 に答える 2

11

getArgsのリストを生成するIOアクションです。String

fmap someFunction $ readFile =<< fmap head getArgs

または Applicative スタイルで:

someFunction <$> readFile =<< head <$> getArgs
于 2013-02-19T02:35:26.580 に答える
4

getArgsコマンドライン引数のリストが表示されます ( C プログラマーが呼び出すもの、実行中のバイナリの名前は含まれません)。argv[0]たとえば、アプリケーションを としてコンパイルし、コマンドラインでfoo実行すると、が返されます。foo a b cgetArgs["a", "b", "c"]

あなたの質問から、コマンドラインでファイル名を期待しているのか、それとも標準入力でデータをパイプすることを期待しているのかわかりません。

ファイル名を求めている場合は、から結果を取得してgetArgsに渡します(または、目的に応じて、openFileおそらくに渡します)。readFile

パイピングを行おうとしている場合はinteract、 を参照すると、必要なことが実行される可能性があります。

于 2013-02-19T20:11:08.493 に答える