Haskellは機能words :: String -> [String]
があります
These are random
Words of text
example example example
結果がこれである必要があります。たとえば、次のように
Prelude> words "These are random"
["These","are","random"]
今、私たちはmap :: (a -> b) -> [a] -> [b]
を使用して、行のリストのためにこれを行うことができます。
Prelude> map words ["These are random","Words of text","example example example"]
[["These","are","random"],["Words","of","text"],["example","example","example"]]
あなたが最初の文字列の行を抽出するためにlines
でこれを組み合わせることができます。
Prelude> (map words . lines) "These are random\nWords of text\nexample example example"
[["These","are","random"],["Words","of","text"],["example","example","example"]]
foo
のタイプがfoo :: [[String]] -> [[String]]
の場合は、
を使用できます。
main = interact (unlines . map unwords . foo . map words . lines)
'[String]'リストを '[[String]]'リストにどのように変換するのかは、はっきりしていません。どのような条件に基づいて?あなたはその行の "言葉"が欲しいですか? –
私は –