首页 文章

在Scheme或Racket何时使用函数以及何时使用宏

提问于
浏览
1

有人可以给出一些关于何时使用Scheme或Racket宏以及何时使用函数的一般指导 .

如果你没有创建新的语法并且你没有在变量上创建副作用,那么你是否需要(或者更合适)使用宏而不是函数?

2 回答

  • 4

    Macros allow you to use completely different syntax. 宏调用根本不需要看起来像函数调用,尽管最简单的宏通常会这样做 . 另外, macros are performed in a separate phase before runtime . 因此,如果您需要不同的语法,或者如果您想在运行时之前进行宏扩展,那么,请使用宏 .

    一般来说,如果你能用一个函数干净利落地做,那就用一个函数吧 .

  • 4

    Matthias Felleisen在他的_1748144中对这个问题进行了简短的讨论 .

相关问题