如何使球拍不打印?

华莱士

我正在用Racket编写程序,并与该程序一起运行racket foo.rkt这是可行的,除了即使未调用打印函数,也可以打印程序顶层的每个表达式的结果。好像程序是逐行输入到REPL的,但是在这种情况下,我根本不尝试使用REPL,我只是尝试从命令行运行程序。

您如何让Racket不打印东西?

除夕夜

#lang racket,是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)完全相同的目的相同。

并非球拍支持的所有语言都可以打印顶级语句。实际的Scheme语言#!r6rs,不会打印顶级语句。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章