context


def replace(string)
return string.gsub(/\$[a-z_]+/){
|m | @value[m]
}

としているところを


def replace(string,context)
return string.gsub(/\$[a-z_]+/){
|m | context.get_value(m)
}

と変えてみようか.つまりテンプレートはあるコンテキストに対して適用されるわけで,必要な値はコンテキストに聞けばよいのだ.

parmalink