if, unless, ternary
พื้นฐานการแยกแขนง
if, unless, ternary เป็นบทเรียน Ruby Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ruby Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ruby Academy มีบทเรียนทั้งหมด 4 บทเรียน
พื้นฐานการแยกแขนง
โปรแกรมจำเป็นต้องตัดสินใจ ใน Ruby คีย์เวิร์ด if จะเรียกใช้บล็อกโค้ดเฉพาะเมื่อเงื่อนไขมีค่าเป็นจริง
นิพจน์ if จะประเมินเงื่อนไข และหากเงื่อนไขเป็นจริง ก็จะเรียกใช้โค้ดระหว่าง if กับ end
age = 20
if age >= 18
puts "You are an adult"
endif / else
เพิ่มแขนง else เพื่อจัดการกรณีที่เงื่อนไขเป็นเท็จ โดยจะทำงานเพียงหนึ่งแขนงเท่านั้น
age = 12
if age >= 18
puts "Adult"
else
puts "Minor"
endสายโซ่ elsif
ใช้ elsif เพื่อตรวจสอบหลายเงื่อนไขตามลำดับ Ruby จะตรวจสอบจากบนลงล่างและเรียกใช้แขนงแรกที่ตรงกัน
- โปรดสังเกตการสะกด:
elsifไม่ใช่elseifหรือelse if
score = 75
if score >= 90
puts "A"
elsif score >= 70
puts "B"
elsif score >= 50
puts "C"
else
puts "F"
endif เป็นนิพจน์
ใน Ruby เกือบทุกอย่างเป็นนิพจน์ที่ส่งคืนค่า if จะส่งคืนค่าของแขนงที่ทำงาน คุณจึงกำหนดค่าให้ตัวแปรได้
age = 20
status = if age >= 18
"adult"
else
"minor"
end
puts statusif แบบตัวปรับแต่ง
สำหรับคำสั่งสั้น ๆ เพียงคำสั่งเดียว ให้วาง if ไว้ท้ายบรรทัด รูปแบบนี้อ่านได้เกือบเหมือนภาษาอังกฤษและพบได้บ่อยใน Ruby แบบสำนวนธรรมชาติ
temperature = 35
puts "It is hot!" if temperature > 30ทำความรู้จัก unless
unless เป็นสิ่งตรงข้ามกับ if: จะเรียกใช้ส่วนเนื้อหาเมื่อเงื่อนไขเป็นเท็จ ให้คิดว่า unless x มีความหมายเหมือน if !x
logged_in = false
unless logged_in
puts "Please log in"
endunless แบบตัวปรับแต่ง
เช่นเดียวกับ if คุณยังใช้ unless เป็นตัวปรับแต่งต่อท้ายสำหรับคำสั่งบรรทัดเดียวได้
stock = 0
puts "Out of stock" unless stock > 0หลีกเลี่ยง unless ร่วมกับ else
unless สามารถใช้ร่วมกับ else ได้ แต่จะอ่านและทำความเข้าใจได้ยากอย่างรวดเร็ว หากต้องการทั้งสองแขนง ควรใช้ if แบบปกติ
active = false
unless active
puts "Inactive"
else
puts "Active"
end
# Clearer as a normal if/elseตัวดำเนินการสามส่วน
ตัวดำเนินการสามส่วนคือ if/else แบบกระชับสำหรับค่าเพียงค่าเดียว รูปแบบไวยากรณ์คือ condition ? value_if_true : value_if_false
age = 20
label = age >= 18 ? "adult" : "minor"
puts labelตัวดำเนินการสามส่วนภายในสตริง
ตัวดำเนินการสามส่วนมีประโยชน์อย่างมากภายในการแทรกค่าในสตริง ซึ่งการใช้ if/else แบบเต็มรูปแบบอาจจัดวางได้ไม่เหมาะสม
count = 1
puts "You have #{count} item#{count == 1 ? "" : "s"}"ควรใช้แบบใดเมื่อไร
แนวทางฉบับย่อ:
if/elsif/elseสำหรับการแยกแขนงทั่วไปunlessสำหรับการตรวจสอบเงื่อนไขเชิงปฏิเสธเพียงข้อเดียวที่อ่านได้เป็นธรรมชาติ- ตัวดำเนินการสามส่วนสำหรับเลือกค่าธรรมดาสองค่า
ความอ่านง่ายสำคัญกว่าความแพรวพราวเสมอ
n = 7
parity = n.even? ? "even" : "odd"
puts "#{n} is #{parity}"ตรวจสอบอย่างรวดเร็ว
ทดสอบความเข้าใจเกี่ยวกับการแยกแขนง
สรุปทบทวน
คุณได้เรียนรู้เครื่องมือสำหรับการแยกแขนงของ Ruby:
if/elsif/elseเรียกใช้โค้ดตามค่าความเป็นจริงifเป็นนิพจน์ที่ส่งคืนค่า- รูปแบบตัวปรับแต่ง (
do_x if cond) เหมาะกับคำสั่งบรรทัดเดียวสั้น ๆ unlessคือif !— ใช้สำหรับการตรวจสอบเงื่อนไขเชิงปฏิเสธที่ชัดเจน- ตัวดำเนินการสามส่วน
? :เลือกระหว่างสองค่าได้อย่างกระชับ
grade = 88
result = grade >= 60 ? "pass" : "fail"
puts "Result: #{result}"คำถามที่พบบ่อย
บทเรียน “if, unless, ternary” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “if, unless, ternary” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ruby Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ruby Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “if, unless, ternary”
พื้นฐานการแยกแขนง คุณปฏิบัติ Ruby Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ruby Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ruby Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “if, unless, ternary” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ruby Academy นี้ได้ไหม
ได้ บทเรียน Ruby Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- if, unless, ternary
- นิพจน์ case/when
- ค่าความจริงใน Ruby
- ประโยคเงื่อนไขป้องกัน