Ruby:If

From Blognone

Jump to: navigation, search

บทที่แล้วเขียนเรื่อง True false and nil ไหนๆ เรารู้เรื่อง boolean แล้ว ได้เวลาเอามาใช้

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

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

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

if (money < 10)
  puts 'You can not 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 not 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 'Do not give him a Ray'
end

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

puts 'Do not give him a Ray' unless money < 100