เงื่อนไข (if)

บทที่แล้วเขียนเรื่อง จริง, เท็จ และ ค่าว่าง (true, false, and nil) ไหนๆ เรารู้เรื่อง boolean แล้ว ได้เวลาเอามาใช้

การใช้ if ในกรณีที่มี else

money = 10
 
if (money >= 10)
  puts 'You can buy Ray'
else
  puts 'You can't buy Ray'
end

ถ้าต้องการมีเงื่อนไขมากกว่า 1 อย่าง สามารถใช้ elsif ได้

if (money < 10)
  puts 'You can't buy Ray'
elsif (money < 20)
  puts 'You can buy Ray'
elsif (money < 30)
  puts 'You can buy Big Ray'
else
  puts 'You can buy more than one Ray'
end

สังเกตุว่า elsif มีแค่ 5 ตัวอักษร ไม่ใช่ elseif และมีความหมายไม่เหมือนกับ else if

หลายคนอาจจะคุ้นเคยกับการใส่วงเล็บหลัง if แต่ใน ruby เราไม่ต้องใส่ก็ได้

if money < 10
  puts 'You can't buy Ray'
elsif money < 20
  puts 'You can buy Ray'
elsif money < 30
  puts 'You can buy Big Ray"
else
  puts 'You can buy more than one Ray'
end

นอกจากใช้ if แบบที่เราคุ้นเคยแล้ว เราสามารถใช้ if ในแบบที่เราคุ้นเคยมากกว่าได้

puts ('Give me more Ray') if money >= 100

เขียนแบบนี้ใกล้เคียงภาษาคนมากขึ้น และเพื่อให้ใกล้ขึ้นไปอีก ใน ruby มีคำสั่ง if not มาให้เราใช้

unless monty >= 10
  puts 'Don't give him a Ray'
end

unless จะทำงานเมื่อเงื่อนไขเป็น false และแน่นอนว่าเราเขียนแบบที่เราคุ้นเคยได้

puts ('Don't give him a Ray') unless money < 100