私のコードは次のようになります。
#macro (myMac $listOfValues)
#foreach ($val in ${listOfValues})
#set ($subList = $val.child())
#if (some condition)
some output
#if (${velocityCount} < ${listOfValues.size()})
,\n
#end
#else
#myMac(${subList}) -- B
#end
#end
#end
#myMac (${listOfValues}) -- A
listOfValues -- 文字列のリストです subList -- 文字列のリストです
${listOfValues.size() は、再帰呼び出し (B からの呼び出し) 中は常にゼロですが、リストには複数の値があります。ただし、マクロが A から呼び出される場合、サイズは正しいです。至らぬところがありましたらご指摘いただけませんでしょうか...