私はString
のように"1 2 3 4 5"
を持っています。 Haskellの[1,2,3,4,5]
のような整数のリストに変換するにはどうすればいいですか?リストが"12345"
の場合はどうなりますか?文字列をHaskellの整数のリストに変換するには
答えて
あなたはここで我々は["1", "2", "3", "4", "5"]
を得るように空白に"1 2 3 4 5"
を分割するwords
を使用
Prelude> map read $ words "1 2 3 4 5" :: [Int]
[1,2,3,4,5]
を使用することができます。 read
関数は、個々の文字列を整数に変換できるようになりました。それはタイプRead a => String -> a
を持っているので、実際にRead
タイプのクラスにあるものに変換することができ、それにはInt
が含まれています。上記の型を指定する必要がある戻り型の型変数のためです。
スペースを含まない文字列の場合、各Char
を単一要素のリストに変換する必要があります。これは、(:"")
を適用することによって行うことができます。String
は、単なるChar
のリストです。 digitToIntと呼ばれるモジュールData.Charで定義された関数であり
Prelude> map (read . (:"")) "12345" :: [Int]
[1,2,3,4,5]
おかげでたくさんのマーティン.. uロック.. –
:私たちは、それ以前のように再びread
を適用します。文字が16進数字として解釈される限り、それは文字を受け取り、数字を返します。
この関数を最初の例で使用する場合、数字がスペースで区切られている場合は、スペースを避ける必要があります。
> map digitToInt "1212121"
[1,2,1,2,1,2,1]
私は推測すると思いますが、フィルタを必要としないので、あなたは全く分離されていない数字は、さらに簡単です単純なフィルタ
> map digitToInt $ filter (/=' ') "1 2 1 2 1 2 1"
[1,2,1,2,1,2,1]
第2の例でそれを行うことができますdigitToIntは、式の型に依存しないため、読みにくくなる可能性があります(これはどのようにしてこのポスト= Pを見つけたのですか)。とにかく、私はhaskellに新しいので、間違っているかもしれない=)。
あなたは使用することができます。
> [read [x] :: Int | x <- string]
- 1. リスト内の文字列を整数に変換する
- 2. 整数のリストに文字列を変換する
- 3. Haskellの文字列を文字列に変換する
- 4. 文字列を整数のリストに変換できません
- 5. Haskell:入力文字列を直接リストに変換する
- 6. 数字の文字配列を整数に変換する
- 7. 文字列を整数に変換
- 8. 文字列をシェルスクリプトの整数に変換するには?
- 9. リスト文字列を整数に変換できません
- 10. 文字列をギザギザの整数の配列に変換する
- 11. 文字列(文字)をファイルテキストから整数に変換する
- 12. 数字を含む文字列を整数に変換する
- 13. 文字列をjqueryの整数に変換する方法は?
- 14. 文字列をC++で整数の配列に変換する
- 15. PHPで文字列を整数に変換するには?
- 16. 文字列を整数に変換するには?
- 17. 文字列を整数に変換するには?
- 18. 文字列を整数に変換してテストするには?
- 19. 整数のリストをファイルの文字列に変更する
- 20. Pythonで文字列リストを整数に変換する方法は?
- 21. 各リストの各エントリを文字列から整数に変換する
- 22. リストの一部をPythonで文字列から整数に変換する3.4
- 23. 整数を文字に変換する
- 24. 文字を整数に変換する
- 25. 文字列をそのascii値の整数に変換する
- 26. 文字列を整数またはオブジェクトに変換する
- 27. 追記:整数を文字列に変換する方法は?
- 28. Pythonの文字列リストを文字列に変換する
- 29. Schemeの文字列を整数に変換する
- 30. アルファベット文字列をC#の整数に変換する
-1、あなたはあなたがしようとしているコードを追加することはできますか? – Reddy