-
Notifications
You must be signed in to change notification settings - Fork 1
TTerse TT2Compatibility.ja
Fuji, Goro edited this page Nov 12, 2011
·
3 revisions
このページはTTerseとTemplate-Toolkit(TT2)の互換性について解説します。
INCLUDEの引数はかならずダブルクォートで囲んでください。
たとえば、[% INCLUDE foo.tt %]
と[% INCLUDE "foo.tt" %]
はTT2では同じ意味になりますが、TTerseでは異なります。
TTerseでは前者は変数fooのプロパティttを参照しますが、後者はファイル"foo.tt"をINCLUDEします。
また、INCLUDEに引数を与える場合、TT2ではWITHキーワードを省略できますが、TTerseでは必須となっています。
TT2ではFOREACH文でINキーワードのかわりに=
を使うことができますが、TTerseでは許されません。
FOREACH文は常に[% FOREACH item IN array_ref %]
と書かなければなりません。
また、TT2ではハッシュリファレンスをFOREACHで反復することができますが、TTerseでは配列リファレンスのみ使用できます。
ハッシュリファレンスはkeys()/values()/kv()
メソッドなどで配列リファレンスに変換してFOREACHに渡してください。
TT2ではマクロや変数はグローバルなシンボルですが、TTerseではレキシカルです。
なお、マクロについてはOURキーワードでグローバルシンボルとして定義できるよう変更予定です。
TT2ではデフォルトでは大文字のキーワードしか受け付けませんが、TTerseでは小文字のキーワードも受け付けます。
TTerseでは%%
で始まる行もテンプレートコードとして解釈します。