在 Haskell 中打印双引号

3
如何在Haskell中打印引号?我认为可以使用以下代码:
putStrLn "\"" 

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

为了澄清,结果应该只是:" 谢谢


你的代码有什么问题?当我将它粘贴到ghci中时,它会打印一个双引号,正如预期的那样。 - fjh
糟糕,实际上是这样的...我只是打错了一个字。 - ivanibash
1个回答

10
如果您只想打印一个双引号,可以使用putChar,例如:
putChar '"'

请注意,这不会添加换行符或其他任何内容。如果您想要打印带有换行符的引用,您提供的代码应该是正确的。

putStrLn "\""

应该可以工作。反斜杠的原因是双引号用于结束字符串,因此我们需要告诉编译器将这个特定的双引号视为特殊字符 - 我们使用反斜杠来实现。

一个反斜杠和一个字符的组合通常称为“转义序列” - 我们还有其他像 \n 表示换行,\t 表示制表符,\\ 表示实际的反斜杠等等。当然,这意味着你可以通过将两个 putChar 结合起来打印双引号后跟一个换行符。

putChar '"' >> putChar '\n'

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接