0Pricing
Ruby Academy · บทเรียน

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"
end

if / 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"
end

if เป็นนิพจน์

ใน Ruby เกือบทุกอย่างเป็นนิพจน์ที่ส่งคืนค่า if จะส่งคืนค่าของแขนงที่ทำงาน คุณจึงกำหนดค่าให้ตัวแปรได้

age = 20
status = if age >= 18
  "adult"
else
  "minor"
end
puts status

if แบบตัวปรับแต่ง

สำหรับคำสั่งสั้น ๆ เพียงคำสั่งเดียว ให้วาง 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"
end

unless แบบตัวปรับแต่ง

เช่นเดียวกับ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. if, unless, ternary
  2. นิพจน์ case/when
  3. ค่าความจริงใน Ruby
  4. ประโยคเงื่อนไขป้องกัน
← กลับไปที่ Ruby Academy