Racket中是否有忽略功能?

时间:2016-10-24 04:09:49

标签: function racket lazy-evaluation

换句话说,是否存在函数f,使得f x不评估x并且只返回void?我试图通过使用(define (ignore x) (if true void x))来实现类似的东西,但它仍然评估x。

1 个答案:

答案 0 :(得分:1)

您也可以使用

(when #f x)

,不需要宏定义。这样做的好处是,阅读代码的人不必查看宏的定义。

Racket有#;个读取器宏来注释掉表达式;考虑这是否有意义。例如,

> (+ 1 2 #;3 4)
7