2

Jinja2 テンプレートに次の行がありました。

{% for type in types %}
    top -> {{(loop.index0 + 'a')|string}}(var{{loop.index0}});
{% endfor %}

ここで、types は、テンプレートの他の場所で使用される C++ のさまざまなタイプのリストであり、出力は、モジュール シグナルを初期化する SystemC プログラムの一部です。目標は、小文字の a から始まる文字を使用して、次のような出力を取得することです。

top -> a(var0);
top -> b(var1);

ただし、「サポートされていないオペランド型の +: 'int' および 'str'」というエラーが発生していたため、テンプレートを次のように変更してみました。

{% for type in types %}
    top -> {{(loop.index0 + 'a'|int)|string}}(var{{loop.index0}});
{% endfor %}

しかし、出力はこれでした

top -> 0(var0);
top -> 1(var1);

問題は、Jinja2 テンプレート内で整数から対応する ASCII 文字に変換する方法がないことです。「chr()」を試しましたが、これは Python 関数であり、Jinja2 の関数ではなく、機能しません。これを経験したことがあり、私を助けてくれる人がいるかどうか疑問に思っていましたか?

4

2 に答える 2