You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Racket中正确生成并输出多个换行符?

Racket生成多行换行符问题解决

你的代码(make-string n #\newline)本身是对的,它确实生成了包含n个换行符的字符串。问题出在输出方式——如果直接在REPL里返回这个字符串,Racket会用print函数显示,它会把换行符转义成\n字符串显示;而要实际输出换行,得用display函数。

给你两种解决方式:

  • 直接在函数里用display输出:
(define (newlines n)
  (display (make-string n #\newline)))

调用(newlines 4)就能看到4个实际换行。

  • 保留生成字符串的功能,输出时手动用display:
(define (newlines n)
  (make-string n #\newline))

; 调用时这样输出
(display (newlines 4))

核心区别是:print会以字面形式展示字符串(包含转义字符),而display会输出字符串的实际内容,包括换行符的换行效果。

内容的提问来源于stack exchange,提问作者Sarah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 12:55:37