(定义(thunk-time-it任务)(在(Cim)之前定义)(定义答案(任务))(在此之前定义增量(-(Cim)之前))(printf";时间:~a ms\n";增量)答案)。
Racket允许程序员添加新的语法结构,其方式与其他语言允许制定过程、方法或类的方式相同。您所需要做的就是制定一条简单的规则,将自定义语法重写为球拍表达式或定义。
小宏特别能帮助程序员进行DRY,这是其他功能无法做到的。上面左边的例子展示了如何定义新的语法来测量任务所需的时间。该语法避免了对lambda的重复使用。还要注意宏是如何从该模块导出的,就好像它是一个普通函数一样。