模板使用中的问题

定义了两个模板函数A和B

#define A(c)
我是A
(调用B之前)A-参数c的值:#(c)
#@B(c='b')
(调用B之后)A-参数c的值:#(c)
#end
#define B(c)
我是B
B-参数c的值:#(c)
#end

调用时:

#@A(c="a")

返回结果是:

我是A    
(调用B之前)A-参数c的值:a    
我是B    
B-参数c的值:b    
(调用B之后)A-参数c的值:b

如果A中调用B时不给出参数名称,返回结果是:

我是A    
(调用B之前)A-参数c的值:a    
我是B    
B-参数c的值:b    
(调用B之后)A-参数c的值:a

感觉变量的作用域超出了正常使用的范围

评论区

10000

2017-05-03 19:20

@JFinal 在线等!!!

JFinal

2017-05-03 21:37

魔板引擎中,用户使用变量的默认作用域是当前魔板有效,如果希望限定在魔板函数内部,可以使用 #setLocal(x = ...)

这样设计既方便传参也能实现模块化

热门反馈

扫码入社