作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 Racket 中编写一个程序,并使用 racket foo.rkt
运行该程序。这是可行的,除了程序顶层每个表达式的结果都会被打印,即使没有调用打印函数。就好像程序是逐行输入 REPL 的,但在这种情况下,我根本不尝试使用 REPL,我只是尝试从命令行运行程序。
如何让 Racket 不打印内容?
最佳答案
#langracket
是 Racket 实现中的默认语言,打印除 (void)
之外的顶级语句,它返回一个始终被 REPL 忽略的值,和 (values)
,它返回零值,因此 REPL 没有任何可打印的内容。这意味着您可以创建一个以其中任何一个结尾的 main
函数,并且它将不会有来自 REPL 的输出。
statement-1
statement-2
statement-3
并将其更改为:
(define (main)
statement-1
statement-2
statement-3
(void)) ; or (values)
类似 define
和 set!
的形式返回与 (void)
相同的值,其目的完全相同。
并非 Racket 支持的所有语言都会打印顶级语句。实际的Scheme语言#!r6rs
不打印顶级语句。
关于racket - 如何让 Racket 不打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41063011/
我是一名优秀的程序员,十分优秀!