コマンドライン引数からファイルを取得し、そのファイルを1行ずつ読み込むhaskellプログラムを書く必要があります。私はこれにアプローチする方法が不思議だった、私は文字列としてコマンドラインの引数を取得し、openFileまたは何かにそれを解析する必要がありますか?私はかなりhaskellに新しいので、私はかなり失われています、どんな助けもありがとう!Haskell Reading stdinのファイル
0
A
答えて
8
はい、特定のファイルを引数として指定する場合は、引数を取得してopenFileに送信する必要があります。
System.Environment.getArgs
は、引数をリストとして返します。
import System.Environment (getArgs)
import System.IO (openFile, ReadMode, hGetContents)
main = do
args <- getArgs
file <- openFile (head args) ReadMode
text <- hGetContents file
-- do stuff with `text`
(NBそのコードがエラー回復を持っていません:あなたは、単一のファイルを読みたいのであればその後
import System.Environment (getArgs)
main = do
args <- getArgs
print args
、
$ ghc test_getArgs.hs -o test_getArgs
$ ./test_getArgs
[]
$ ./test_getArgs arg1 arg2 "arg with space"
["arg1","arg2","arg with space"]
だから、同じようtest_getArgs.hs
を与え、何をすべきか引数がなくてもargs
が空の場合(head
は失敗します)、ファイルが存在しない場合、または読み込めない場合はどうなりますか?)
3
関連する問題
- 1. Haskell: "Reading" ByteString
- 2. reading excel server-side
- 3. FileStream.Seek vs. Buffered Reading
- 4. Python Pandas reading time
- 5. stdinをファイルにリダイレクト
- 6. prawn error reading generated pdf
- 7. EOFExcepton reading UDP
- 8. Python Reading XML Child
- 9. Lua reading dbus info
- 10. Reading SMS in android
- 11. FormulaR1C1 reading False
- 12. python/os.listdir/reading subfodlers
- 13. Gradle not reading gradle.properties
- 14. XML Reading Sub not working
- 15. JAWS not reading table
- 16. PostgreSQL COPY FROMファイルからSTDIN
- 17. iOS Objective-C required reading
- 18. php imap reading bodyメッセージ
- 19. 読書ファイルHaskellの
- 20. spark reading python3 pickle in input
- 21. Haskellの任意の型[a]のstdinからリストを読み込むには?
- 22. エグゼクティブではないドライバのspark reading orcファイル
- 23. Bisonのstdinとファイルの入れ替え
- 24. body-parserとmulter reading multipart + json
- 25. STDINファイルの読み込みクエリ
- 26. Haskell - ファイルが提供されているか、stdinを代わりに使用する方法
- 27. HaskellでのPcapファイルのデコード
- 28. PYTHON(PYQT) - CSV - READING BY ROW
- 29. Subprocess.Popen stdin in new console
- 30. ファイルを使用せずにサブプロセスパイプstdin
IO文字列の数を合計するにはどうすればよいでしょうか? – SNpn
@SNpn、どの数字を合計しますか? (より多くの情報を与える必要があります) – huon
申し訳ありませんが、ファイルに整数のリストが含まれています(1行に1つの整数を設定します)。ファイルを取得して整数を合計する必要があります。 sum(text) ' – SNpn