0

Text -> [Text]基本的に、改行に基づいてテキストを分割するtype の関数を探しています。ただし\n、これはたとえばのようにエスケープできるため、分割することはできませ\\nん。他にどのような合併症があるかわかりません。

Main.hs

{-# LANGUAGE OverloadedStrings #-}

import Data.Text (Text)
import Data.Text.IO
import Shelly

example :: Sh Text
example = run "./example.sh" []

main :: IO ()
main = do
  v <- shelly example
  Data.Text.IO.putStrLn v

たとえば .sh

echo "test1\\n"
echo "test2"
echo "test3"

の出力./example.sh:

test1\n
test2
test3

したがって、これは3行の出力です。

Shelly は上記を処理する機能をサポートしていますか? それとも、出力を解析するための他の Haskell ライブラリでしょうか? 私はそれが次のように見えると思いますが、出力されるのではputStrLnなく、に出力さIO ()[Text]ますか?

4

1 に答える 1

0

https://hackage.haskell.org/package/text-1.2.2.2/docs/Data-Text.html#v:lines

main :: IO ()
main = do
  v <- shelly example
  print $ Data.Text.lines v
于 2017-10-16T18:35:41.663 に答える