18

Template Toolkit で、ハッシュリファレンスを含む次の変数があるとします。

[% 
   artist = {
     'life-span' => '1975 to 1987',
   }
%]

「寿命」でデータを出力する最良の方法は何ですか?

私が試してみました...

[% artist.life-span %]

^ハイフンが原因で失敗します。

[% artist.'life-span' %]

^構文が正しくないため、これは失敗します。

[% lifespan = 'life-span' %]
[% artist.$lifespan %]

^これは機能しますが、大量のデータを含む大規模なアプリでは実用的ではありません。

より良い方法はありますか?

私が取り組んでいるプロジェクトは Catalyst ベースの Web アプリであり、データはさまざまな外部 Web サービスから取得されるため、ハッシュ キーの名前は制御しません。Perl でデータを前処理して、問題のハッシュ キーの名前を変更してから TT に渡すこともできると思いますが、それはかなりくだらない回避策のようです。

4

1 に答える 1

31

アイテムvmethod:を使用できます[% artist.item('life-span') %]

于 2010-02-22T14:07:29.323 に答える