Jam 语法陷阱
Jam的Variable作用域是全局的
Jam的Variable 作用域一直都是全局的, 即使是local的 变量,它也是存储在全局Variable表中的。只是它在定义local变量的时候,会将全局表中的原来的变量名的变量给置换出来,作用域结束的时候,再将原来的变量给置换回去。
因此当一个ruleA调用另一个ruleB的时候, 因为ruleA还没结束,ruleB里面其实是能访问ruleA的变量的。
Jam的Variable 作用域一直都是全局的, 即使是local的 变量,它也是存储在全局Variable表中的。只是它在定义local变量的时候,会将全局表中的原来的变量名的变量给置换出来,作用域结束的时候,再将原来的变量给置换回去。
因此当一个ruleA调用另一个ruleB的时候, 因为ruleA还没结束,ruleB里面其实是能访问ruleA的变量的。