Velocity の macro にがっかり

put している object の method を動的に変更して呼び出したかったので、
macro を使って前処理して、意図した methodname に変換して呼び出してやりましょうと思ったのに……。


これほんま macro か!!


前処理が出来ると期待を持ってたのに……。
出来ないでやんの。

#macro(str $str)$str#end

#set($sub_list = ['a' ,'b' ,'c'])

#foreach($sub in $sub_list)
	$obj.#str($sub)().get()
#end

これを目論んでいたのにな〜〜。

	$obj.a().get()
	$obj.b().get()
	$obj.c().get()

実際はこうなった。

	$obj.		a
	().get()
	$obj.		b
	().get()
	$obj.		c
	().get()

何故そんなのが入る!!


なんか良い方法無いんかな〜〜。
箇条書きにするの面倒臭いな〜。

mimic28号でした。