0Pricing
DevOps Bootcamp · บทเรียน

loop_control: label, index และ pause

ควบคุมผลลัพธ์และพฤติกรรมของลูป

loop_control: label, index และ pause เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน 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 ได้เหมือนตัวแปรทั่วไป ตัวแปรนี้มีประโยชน์สำหรับใส่หมายเลขให้รายการ หรือดำเนินการเฉพาะในการทำงาน first รอบแรก

- 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 ควบคุมผลลัพธ์และจังหวะการทำงาน ไม่ใช่ข้อมูล ตัวเลือกนี้ช่วยให้ลูปขนาดใหญ่อ่านง่ายและคาดเดาได้ readable and predictable โดยไม่เปลี่ยนสิ่งที่ลูปทำ

ตรวจสอบความเข้าใจ

ตัวเลือกใดของ loop_control ที่ควบคุมสิ่งที่แสดงในการทำงานแต่ละรอบ

สรุป: ลูปที่ควบคุมได้

คุณใช้ loop_control เพื่อกำหนดป้ายกำกับที่อ่านง่าย ติดตามดัชนี กำหนดช่วงหยุด และเพิ่มข้อมูลแบบ extended ตอนนี้คุณสามารถใช้ลูปกับโครงสร้างข้อมูลทุกรูปแบบได้อย่างมืออาชีพ 🎉

คำถามที่พบบ่อย

บทเรียน “loop_control: label, index และ pause” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “loop_control: label, index และ pause” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “loop_control: label, index และ pause”

ควบคุมผลลัพธ์และพฤติกรรมของลูป คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 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