6

次の例では、「解析中に予期しない EOF」という構文エラーがスローされます。

${foo({'bar':'baz'})}

これは、内側の閉じ中括弧からのものだと思います。これはうまくいきます:

${foo(dict(bar='baz'))}

しかし、辞書リテラルを使用するための構文は何ですか?

4

1 に答える 1

6

Mako Templates Google Groupの Brian Rue から:

これは長い間未解決のバグです。dict() を使用するだけです。文字列ではないキーを持つ辞書が必要な場合は、タプルのリストを辞書に変換します。たとえば、これの代わりに:

${foo({1: 'a', 2: 'b'})}

これを行う:

${foo(dict([(1, 'a'), (2, 'b')]))}

于 2011-01-08T21:07:48.393 に答える