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

Scheme中writeln多参数格式化输出问题求助

Scheme实现多参数格式化输出的方法

方法一:自定义支持多参数的writeln函数

标准Scheme(如R5RS/R6RS规范)中的display和writeln仅支持1-2个参数(第二个为可选输出端口),你可以自己实现一个支持多参数的版本,遍历所有参数依次输出后换行:

(define (writeln . args)
  (for-each display args)
  (newline))

调用方式和书中示例完全一致:

(writeln "the number is " 4 "!")

执行后会输出:the number is 4!

方法二:字符串拼接后输出

如果不想自定义函数,可以先用string-append把所有内容拼接成单个字符串,注意非字符串类型(比如数字)需要用number->string转换:

(display (string-append "the number is " (number->string 4) "!"))
(newline)

同样能得到预期的格式化输出。

补充说明

书中示例能直接运行,大概率是因为它采用了支持多参数writeln的Scheme方言(比如Racket),而你使用的是遵循标准规范的Scheme实现,所以需要通过上述方法适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 02:33:21