我很难找到列表的基本过滤器:“any”(true如果列表中的任何值可以转换为,则返回true),“all”(true仅返回列表中的所有值可以转换为true)。
any我可以通过使用来模拟my_list|map()|bool,但它看起来像是一个黑客,而且我在all功能上遇到了麻烦。
更新:
我发现了这个(又一个奇怪的)黑客行为。
my_list|map('bool')|maxmy_list|map('bool')|min有更好的(惯用的)方法吗?
fal*_*ets -1
是的,您可以只使用all和any。
这是使用它们的示例手册。(这对我的 Ansible 2.5.1 有效。)
---
- hosts: localhost
tasks:
- assert:
that:
- mixed | any
- not (mixed | all)
- all_true | any
- all_true | all
- not (all_false | any)
- not (all_false | all)
vars:
mixed:
- false
- true
- false
all_true:
- true
- true
- true
all_false:
- false
- false
- false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1343 次 |
| 最近记录: |