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 の関数ではなく、機能しません。これを経験したことがあり、私を助けてくれる人がいるかどうか疑問に思っていましたか?