私はHaskellに不慣れで、現実の世界で通常遭遇するいくつかのテストケースをいじろうとしています。次のテキストファイル「foo.txt」があるとします。
45.4 34.3 377.8
33.2 98.4 456.7
99.1 44.2 395.3
私は出力を生成しようとしています
[[45.4,34.3,377.8],[33.2,98.4,456.7],[99.1,44.2,395.3]]
私のコードは以下のとおりですが、出力に偽の「LPS」が含まれています...それが何を表しているのかわかりません。
import qualified Data.ByteString.Lazy.Char8 as BStr
import qualified Data.Map as Map
readDatafile = (map (BStr.words) . BStr.lines)
testFunc path = do
contents <- BStr.readFile path
print (readDatafile contents)
testFunc "foo.txt"で呼び出されると、出力は次のようになります。
[[LPS ["45.4"],LPS ["34.3"],LPS ["377.8"]],[LPS ["33.2"],LPS ["98.4"],LPS ["456.7"]],[LPS ["99.1"],LPS ["44.2"],LPS ["395.3"]]]
どんな助けでも大歓迎です!ありがとう。PS:ByteStringを使用します。これは、将来、大量のファイルで使用される予定です。
編集:
また、ghciで以下の行が異なる配置を示しているのに、出力リストが上記のようにグループ化されている理由([]でバインドされた各番号)についても戸惑います。
*Main> (map words . lines) "45.4 34.3 377.8\n33.2 98.4 456.7\n99.1 44.2 395.3"
[["45.4","34.3","377.8"],["33.2","98.4","456.7"],["99.1","44.2","395.3"]]