有人可以提供一些关于何时使用 Scheme 或 Racket 宏以及何时使用函数的一般指南。
如果您没有创建新语法并且没有对变量产生副作用,那么在某些情况下您必须(或者更合适)使用宏而不是函数?
最佳答案
宏允许您使用完全不同的语法。 宏调用根本不必看起来像函数调用,尽管最简单的宏通常如此。另外,宏在运行前的单独阶段执行 .所以,如果你需要不同的语法,或者如果你想在运行前扩展宏,那么,好吧,使用宏。
一般来说,我会说如果你可以用一个函数干净利落地做到这一点,那么就使用一个函数。
关于scheme - 在 Scheme 或 Racket 中何时使用函数以及何时使用宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9746243/