我试图编写一个能够进行各种计算并返回最终结果的宏。
宏是否只接受块级代码,如 if 或 for 循环?而不是一组单独的陈述?
请在这件事上给予我帮助
谢谢
你可以用宏做很多事情。大多数本机 Python 操作都是可能的,尽管是以一种笨拙的非 Python 方式(这里没有列表推导)。
例如,可以调用 python 内置数据类型的任何方法:
{% set my_base_models = [] %}
{% for i in graph.nodes.values() %}
{% if i["name"].startswith('base_model') %}
{% do my_list.append(i) %}
{% endif %}
{% endfor %}
关键点:
{% do <obj>.<method>() %}
任何改变状态的方法(例如pop()
,,append()
等)来执行它{% set <var> = <expression> %}