string - Haskell 字符串中的换行符?

标签 string haskell newline

如何在字符串中创建换行符?不使用IO()是否可以?

formatRow :: Car -> String
formatRow (a, d:ds, c, x:xs) = a ++ " | " ++ x ++ concat xs ++ " | " ++ show c ++ " | " ++ d ++ concat ds ++ (show '\n')

最佳答案

要创建包含换行符的字符串,只需编写"\n"

如果您在 Windows 上运行程序,它将 automatically be converted“\r\n”

请注意,对其调用 show 将会转义换行符(或任何其他元字符),因此不要执行 foo++ (show "\n")foo++ (show '\n') - 只需使用 foo++ "\n"

另请注意,如果您只是在 GHCi 中计算字符串表达式而不使用 putStrputStrLn,它只会对其调用 show,因此,例如字符串 "foo\n" 将在 GHCi 中显示为 "foo\n",但这并不会改变它是一个包含换行符和一旦您使用 putStr 输出它,它就会以这种方式打印。

关于string - Haskell 字符串中的换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5944055/

相关文章:

c# - 内存中非常大的字符串

Java 更短的加密

c++ - 对 wxLog::DoLog 的 undefined reference 针对 wxWidget 3.0 构建 wxHaskell 时出错

haskell - 非详尽模式异常,用于绑定(bind)但不用于 do

python - if block 中的语句后出现意外标记 '<newline>'

javascript - 转义字符串拆分和连接

c# 仅当找到分隔符时才拆分字符串

Haskell - 定义函数

javascript - 是否可以测试空格?

java - 从 xml 中删除子节点时出现不需要的换行符