与jinja2模板中相等性测试的条件相同



jinaj2中的sameas()是否严格检查布尔值(true,false?)

它的工作原理与相等测试不同,我想知道除了检查布尔值之外,它的用例是什么。

"检查对象是否指向相同的内存地址">

https://jinja.palletsprojects.com/en/2.10.x/templates/#sameas

不,这是为了进行实例检查,而不是使用==,后者在python中需要调用对象的__equals__方法,该方法可能会被重写,从而执行意外的

- debug:
msg: |
{%- set a = {"something": True} -%}
{%- set b = {"something": True} -%}
equals = {{ a == b }}
sameas = {{ a is sameas b }}

产生

ok: [localhost] =>
msg: |-
equals = True
sameas = False

我确信它有一些很好的用例,但在我多年的ansible ing中,我从未使用过它,所以把它作为一个数据点

相关内容

  • 没有找到相关文章

最新更新