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中,我从未使用过它,所以把它作为一个数据点