我已在文件' A'中定义了宏。我想在其他文件中使用宏,例如档案B
。
这可能吗?我当然知道我可以在文件B
中使用宏的编译结果,但我也想在那里使用宏。
A
macro test {
...
}
test 1
test 2
乙
test 3
test 4
答案 0 :(得分:2)
是的,您需要在文件A中使用--module
标记和export
宏。它已记录here。
答案 1 :(得分:1)
你一定可以做到!
您需要导出宏并在编译时将文件名作为参数传递。
看看这个:
<强> set.sjs 强>
macro set {
rule { $i:ident = $value:lit } => {
var $i = $value;
}
}
export set;
<强> id.sjs 强>
macro id {
rule { $i:ident } =>
{
$i;
}
}
export id;
编译时:
=> # sjs --module ./set.sjs ./id.sjs