0Pricing
Ansible Academy · 课时

过滤器:default、join 与 upper

在模板中转换值

过滤器:default、join 与 upper 是 CoddyKit 上的免费 Ansible Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ansible Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ansible Academy 课程共包含 4 节课。

过滤器的作用

过滤器会在值输出前对其进行转换。您可以使用管道符应用过滤器,从左到右阅读,就像一条小型处理流水线。🧰

{{ name | upper }}

upper 过滤器

upper 过滤器会将字符串转换为全大写,而 lower 则相反。它们非常适合规范化文本。

{{ region | upper }}
{{ region | lower }}

default 过滤器

使用 default 在变量未定义时提供备用值,这样缺少值也不会导致渲染崩溃。

listen {{ http_port | default(80) }};

用于空值的 default

将 true 作为第二个参数传入,还可以替换空字符串,而不仅仅是替换未定义的值。这是一种更严格的备用处理方式。

{{ user | default('admin', true) }}

join 过滤器

使用 join 将列表转换为一个字符串,并选择项目之间的连接符。它非常适合生成以逗号分隔的配置值。

allowed = {{ ips | join(', ') }}

串联过滤器

将多个过滤器依次通过管道连接起来,每个过滤器的输出都会传给下一个过滤器。这里,列表先被连接,然后在同一个表达式中强制转换为小写。

{{ tags | join(',') | lower }}

length 与计数

length 过滤器可以统计列表中的项目数或字符串中的字符数,适合用于确定资源池或循环的大小。

workers = {{ servers | length }}

trim 与 replace

使用 trim 删除文本两端的空格,或使用 replace 将一个子字符串替换为另一个子字符串。

{{ path | replace('//', '/') }}

用于数字的过滤器

数字过滤器也很有用:int 和 float 可以转换类型,而 round 可以将小数调整为固定的小数位数。

{{ ('8' | int) * 1024 }}

Ansible 专用过滤器

Ansible 添加了自己的过滤器,例如 to_json 和 to_nice_yaml,用于将数据结构整洁地写入文件。

{{ config | to_nice_yaml }}

过滤器从左到右读取

串联时顺序很重要:值会依次通过每个过滤器,因此请按照所需顺序放置各个转换。

快速检查

某个变量可能未定义,而您希望提供一个安全的备用值。哪个过滤器可以处理这种情况?

回顾

您已经了解过滤器:使用 default 提供备用值,使用 join 处理列表,使用 upper 处理文本,还可以使用 length 和过滤器串联。管道可以干净地转换值。✨

常见问题解答

「过滤器:default、join 与 upper」课时是免费的吗?

是的 — 「过滤器:default、join 与 upper」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ansible Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ansible Academy 课程共包含 4 节课。

「过滤器:default、join 与 upper」这节课中我会学到什么?

在模板中转换值 你通过在浏览器中直接运行的动手代码来练习 Ansible Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Ansible Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Ansible Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「过滤器:default、join 与 upper」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Ansible Academy 课中编写并运行代码吗?

能。每节 Ansible Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. template 模块与 .j2 文件
  2. Jinja2 中的变量与表达式
  3. 模板中的循环与 if 块
  4. 过滤器:default、join 与 upper
← 返回 Ansible Academy