Scheme中的换行符(球拍)

时间:2013-03-15 03:03:56

标签: string scheme racket

当您使用“显示”(如

)书写时,可以使用新行
(display "exa \n mple")

但问题是没有任何代码在字符串中有新行?像:

"exa \n mple" 

预期 - >

exa
 mple

我有什么:

exa \n mple

我无法在球拍文档或其他任何地方找到任何信息。

3 个答案:

答案 0 :(得分:6)

如果你需要一种在字符串之间添加换行符的方法,那么这将起作用:

(define s (string-append "exa " "\n" " mple"))
s
=> "exa \n mple"

(display s)
=> exa
    mple

在上面的代码片段中,我使用string-append将两个字符串粘在一起,中间有一个换行符。生成的字符串s在您使用它时会有一个换行符,例如显示它。

显然它会显示为"exa \n mple",你不能指望字符串从一行跳到另一行,除非你显示它,打印它,显示它,写它等等。

答案 1 :(得分:6)

类似的东西:

(display "line\nhola")

应该这样做。

不知道为什么你需要上面发布的任何内容。

答案 2 :(得分:2)

对于那些来这里寻找如何类似于Java println或Python print并在行尾添加换行符的人来说,球拍具有一个名为displayln的功能就是那样。可以使用fprintf在Racket中完成更复杂的类似C格式的打印,看起来像'〜n'被解释为换行符。

此处介绍了Racket的许多打印功能:https://docs.racket-lang.org/reference/Writing.html