Ansible Academy · บทเรียน

รวมเงื่อนไขด้วย and / or

สร้างนิพจน์ when แบบผสม

บทเรียน 3 จาก 413 ขั้นตอน

รวมเงื่อนไขด้วย and / or เป็นบทเรียน Ansible Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ansible Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน

มากกว่าหนึ่งกฎ

การตัดสินใจจริงมักต้องใช้หลายกฎพร้อมกัน Ansible ให้คุณรวมการทดสอบด้วย and และ or ภายใน when เดียวได้ 🔗

ทั้งสองเงื่อนไขต้องเป็นจริง

เมื่อใช้ and ทุกส่วนต้องเป็นจริง งานนี้จะทำงานเฉพาะบนโฮสต์ Debian ที่ร้องขอส่วนเสริมไว้ด้วย

when: ansible_os_family == "Debian" and install_extras

อย่างใดอย่างหนึ่งก็ได้

เมื่อใช้ or ขอเพียงส่วนใดส่วนหนึ่งเป็นจริงก็เพียงพอ เงื่อนไขนี้จับคู่กับโฮสต์ที่เป็น staging หรือ test

when: env == "staging" or env == "test"

ทางลัดด้วยรายการ

การเขียน when เป็น list ของ YAML หมายความว่าทุกรายการต้องเป็นจริง เป็นวิธีเขียน and ที่สะอาดและอ่านง่าย

when:
  - ansible_os_family == "Debian"
  - install_extras

จัดกลุ่มด้วยวงเล็บ

จะผสม and กับ or หรือไม่ หากใช่ ให้ใช้ parentheses เพื่อระบุการจัดกลุ่มอย่างชัดเจนและหลีกเลี่ยงผลลัพธ์ที่คาดไม่ถึง

when: (env == "prod" or env == "staging") and backups_enabled

กฎลำดับความสำคัญ

เช่นเดียวกับ Python, and มีลำดับความสำคัญสูงกว่า or หากไม่แน่ใจ ให้ใส่วงเล็บเพื่อให้ตรรกะอ่านได้ตรงตามความหมายที่ต้องการ

ปฏิเสธทั้งกลุ่ม

ใส่ not ไว้หน้ากลุ่มที่อยู่ในวงเล็บเพื่อกลับค่าของทั้งกลุ่ม ในที่นี้งานจะข้าม production และ staging

when: not (env == "prod" or env == "staging")

ผสมข้อมูลข้อเท็จจริงกับตัวแปร

เงื่อนไขสามารถผสม facts ที่รวบรวมมาเข้ากับตัวแปรของคุณเองได้ ทำให้งานตอบสนองทั้งโฮสต์และเจตนาของคุณ

when: ansible_memtotal_mb > 2048 and enable_cache

แต่ละรายการในรายการ

ในรูปแบบรายการ แต่ละบรรทัดคือนิพจน์หนึ่งรายการ รายการเหล่านี้เชื่อมด้วย and ดังนั้นทุกข้อจะต้องผ่าน งานจึงจะทำงาน

ระวังชนิดของตัวแปร

เปรียบเทียบตัวเลขในฐานะตัวเลข และสตริงในฐานะสตริง การใส่เครื่องหมายคำพูดให้ตัวเลข เช่น "9" จะทำให้ตัวเลขนั้นเป็นสตริงและอาจทำให้การทดสอบล้มเหลว

ตรรกะที่อ่านง่ายคือตรรกะที่ปลอดภัย

ควรใช้รูปแบบรายการสำหรับ and แบบพื้นฐาน และใช้วงเล็บสำหรับตรรกะที่ผสมกัน เงื่อนไขที่ชัดเจนทำให้ตรวจสอบและเชื่อถือได้ง่าย 🎯

ตรวจสอบอย่างรวดเร็ว

มาทดสอบเงื่อนไขแบบผสมกัน

สรุปทบทวน

รวมการทดสอบด้วย and, or และ not รายการ when หมายถึงทุกข้อเป็นจริง และควรใส่วงเล็บให้ตรรกะที่ผสมกันเพื่อความชัดเจน ✅

เริ่มต้นได้ฟรี

เรียนรู้ YAML ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

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

บทเรียน “รวมเงื่อนไขด้วย and / or” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “รวมเงื่อนไขด้วย and / or”

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

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

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ansible Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “รวมเงื่อนไขด้วย and / or” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Ansible Academy นี้ได้ไหม

ได้ บทเรียน Ansible Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เรียกใช้งานเฉพาะเมื่อเป็น True
  2. แยกแขนงตามข้อเท็จจริงของตระกูล OS
  3. รวมเงื่อนไขด้วย and / or
  4. ลงทะเบียนผลลัพธ์ แล้วจึงตัดสินใจ
← กลับไปที่ Ansible Academy