以下に示すような文字列のリストを印刷したいと思います。Haskellで 'unwords'を使って文字列のリストを印刷するには?
|Name|Country|Age|
------------------
|1 |USA |20 |
|2 |UK |19 |
これを実現するには、以下の方法があります。
printfieldName :: [String] -> String
printfieldName [] = []
printfieldName (x:xs) = "|" ++ x ++ "\t" ++ printfieldName (xs)
組み込み関数 'unwords'を使用してこれを実現できますか?私は 'unwords'を使ってそれを印刷することができましたが、単語の間に|
を置くことができませんでした。
イムのhaskellする新しい、あなたはの流れを説明してください可能性があり関数は書かれています。できます!:) ありがとう – pier
クール! (++) "|"各単語の先頭に "|"を付ける関数を作成するので、(++) "|" "test" - > "| test" 'map 'は、この関数を[" | 1 "、" | USA "、" | 20 "、...]に変換する単語のリストに適用します then 'unwords 'はそれらを単語の間にスペースを入れた文字列に結合します。 '++ '|' 'は最後に|を追加するのに必要です。 –
申し訳ありませんが、コメントのすべての改行が失われました。私はここに新しいです:) –