如何在字符串中创建换行符?不使用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 中计算字符串表达式而不使用 putStr
或 putStrLn
,它只会对其调用 show
,因此,例如字符串 "foo\n"
将在 GHCi 中显示为 "foo\n"
,但这并不会改变它是一个包含换行符和一旦您使用 putStr
输出它,它就会以这种方式打印。
关于string - Haskell 字符串中的换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5944055/