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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- คีย์เวิร์ด loop กับรายการ
- วนซ้ำกับพจนานุกรม
- ลูปซ้อนด้วย subelements
- loop_control: label, index และ pause