L34 Macros
-
Macros 宏
- 宏是在程序源代码被评估之前执行的操作
-
define-macro方法可以帮助我们定义宏,宏接受表达式并返回表达式,而不是接收值并返回值 -
一般函数调用过程
- 评估参数的值
- 函数创建新Frame,将值与symbol绑定
- 评估历程返回最终值
-
宏调用过程
- 将表达式直接作为参数传入(可以视为传入
'expr) - 宏创建新Frame,将
'expr与symbol绑定 - 评估历程形成新表达式并返回
- 评估新表达式
- 将表达式直接作为参数传入(可以视为传入
-
利用宏定义
for见 example中的for.scm