0Pricing
DevOps Bootcamp · 课时

loop_control:label、index 与 pause

控制循环输出和行为

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

循环可能变得嘈杂

当 item 是一个大型字典时,输出会在每次迭代中倾倒整个字典。loop_control 关键字可以整治这种混乱。🧹

添加 loop_control

将 loop_control 与 loop 放在同一个任务中。它包含用于改变循环行为和报告方式的选项。

- ansible.builtin.user:
    name: "{{ item.name }}"
  loop: "{{ users }}"
  loop_control:
    label: "{{ item.name }}"

label 清理输出

label 选项决定每次迭代输出的内容。只显示 item.name,而不是整个字典,可以让运行结果更易读。

重命名循环变量

嵌套循环都使用 item 时会发生冲突。loop_var 选项可以重命名变量,使外层循环和内层循环保持区分。

loop_control:
  loop_var: user_item

使用 index_var 跟踪位置

需要获取当前位置?index_var 会提供一个从零开始的计数器,您可以将它打印出来或用于条件判断。

loop_control:
  index_var: idx

使用索引

像引用任何变量一样引用您的 index_var。它适合为项目编号,或仅在第一次迭代时执行操作。

- ansible.builtin.debug:
    msg: "{{ idx }}: {{ item }}"
  loop: "{{ servers }}"
  loop_control:
    index_var: idx

使用 pause 减慢速度

pause 选项会在迭代之间等待指定的秒数。当您频繁调用 API 或受速率限制的服务时,这一选项非常有用。

loop_control:
  pause: 3

使用 extended 显示进度

将 extended 设置为 true 后,Ansible 会添加 ansible_loop.index 和 ansible_loop.length 等循环信息,从而提供更丰富的进度数据。

loop_control:
  extended: true

ansible_loop 辅助信息

启用 extended 后,ansible_loop 会提供 first、last、index 和 revindex,帮助您轻松判断循环的开始或结束。

when: ansible_loop.last

组合多个选项

您可以在一个 loop_control 下组合多个选项:自定义标签、index_var 和 pause 可以同时存在于同一个代码块中。

loop_control:
  label: "{{ item.name }}"
  index_var: idx
  pause: 1

控制方式,而非逻辑

loop_control 调整的是输出和执行节奏,而不是数据本身。它可以让大型循环变得清晰且可预测,同时不改变循环的行为。

快速检查

哪个 loop_control 选项控制每次迭代输出的内容?

回顾:驯服循环

您使用 loop_control 实现了清晰的标签、索引跟踪、暂停和扩展信息。现在,您已经能够针对各种数据结构熟练地使用循环了。🎉

常见问题解答

「loop_control:label、index 与 pause」课时是免费的吗?

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

「loop_control:label、index 与 pause」这节课中我会学到什么?

控制循环输出和行为 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

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

「loop_control:label、index 与 pause」课时需要多长时间?

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

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

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

此课程中的所有课时

  1. 使用 loop 关键字遍历列表
  2. 遍历字典
  3. 使用 subelements 进行嵌套循环
  4. loop_control:label、index 与 pause
← 返回 DevOps Bootcamp