如何调用嵌套宏?
<@replaceA-sToB-s>
<@replaceB-sToC-s Text/>
</@replaceA-sToB-s>
replaceB-sToC-s简单地将任何“B”替换为“C” replaceA-sToB-s简单地将任何“A”替换为“B”
答案 0 :(得分:3)
如果您想将replaceB-sToC-s
宏的结果传递给replaceA-sToB-s
,那么您必须使用以下内容:
<#assign str><@replaceB-sToC-s "abc" /></#assign>
<@replaceA-sToB-s str />
答案 1 :(得分:3)
像这样:
<#macro replaceAsToBs>
<#local captured><#nested></#local>
${captured?replace('a', 'b')}<#t>
</#macro>
<#macro replaceBsToCs text>
${text?replace('b', 'c')}<#t>
</#macro>
(#t
- s仅用于移除${...}
部分周围的额外空格。)然后您将其称为:
<@replaceAsToBs>
<@replaceBsToCs "abcd"/>
</@replaceAsToBs>