在Haskell中打印双引号

时间:2013-10-28 09:21:00

标签: haskell formatting quotes

如何在haskell中打印引号?我认为这是

putStrLn "\"" 

但事实并非如此:(我知道这是一个简单的问题,但我无法在任何地方找到它。

澄清一下,结果应该是:" 感谢

1 个答案:

答案 0 :(得分:10)

如果您只想打印一个双引号,可以使用putChar,如下所示:

putChar '"'

请注意,这不会附加换行符或其他类似内容。如果要使用换行符打印报价,则提供的代码应该是正确的。

putStrLn "\""

应该有效。反斜杠的原因是双引号用于结束字符串,因此我们需要告诉编译器特别处理这个特定的双引号 - 我们用反斜杠来做。

反斜杠和字符的组合通常称为“转义序列” - 我们还有其他内容,例如\n表示换行符,\t表示制表符,\\表示实际的反斜杠。这当然意味着您可以通过将两个putChar组合成

来打印双引号后跟换行符。
putChar '"' >> putChar '\n'

其中>>是将两个打印操作链接在一起的运算符。但是,当您只能putStrLn "\""时,这样做有点奇怪。