Cấu lệnh điều khiển được sử dụng để điều khiển luồng chạy của chương trình. Ngôn ngữ lập trình Ruby cung cấp cho chúng ta các câu lệnh điều khiển phổ biến sau đây:
Câu Lệnh if
Câu lệnh if được sử dụng để kiểm soát việc thực thi của một (hoặc một số) câu lệnh dựa trên tính đúng của biếu thức điều kiện:
a = 20
if a > 10
puts "a lớn hơn 10"
end
Ở ví dụ trên khi biểu thức điều kiện a > 10 trả về giá trị true thì câu lệnh puts "a lớn hơn 10" đặt bên trong mệnh đề if sẽ được thực thi.
Câu lệnh trên còn có thể được viết chỉ trong một dòng sử dụng từ khoá then:
a = 20
if a > 10 then puts "a lớn hơn 10" end
Câu Lệnh if...else
Với câu lệnh if..else nếu như biểu thức điều kiện trả về giá trị true thì các câu lệnh nằm trong mệnh đề if sẽ được thực thi ngược lại các câu lệnh bên trong mệnh đề else sẽ được thực thi:
a = 5
if a > 10
puts "a lớn hơn 10"
else
puts "a nhỏ hơn 10"
end
Câu Lệnh if...elsif...else
Sử dụng if...elsif..else nếu có nhiều biểu thức điều kiện cần được kiểm tra.
a = 5
if a > 0
puts "a là số dương"
elsif a < 0
puts "a là số âm"
else
puts "a bằng 0"
end
Câu Lệnh unless
Câu lệnh điều khiển unless cũng được sử dụng tương đối phổ biến trong Ruby. Với câu lệnh này thì câu lệnh đặt trước biểu thức điều kiện unless luôn được thực thi trừ khi biểu thức này trả về giá trị true:
a = 1
unless a == 0
print "a khác 0"
end
Ví dụ trên câu lệnh print "$a khác 0" sẽ luôn được thực thi trừ khi $a == 0
Ví dụ trên cũng có thể được viết theo cách tương đương như sau (lưu ý từ khoá end đã được bỏ đi):
a = 1
print "a khác 0" unless a == 0
Câu Lệnh case
Câu lệnh case trong Ruby tương tự như câu lệnh SWITCH trong các ngôn ngữ khác:
site = "Facebook"
case site
when "Google"
puts "Trang tìm kiếm"
when "Facebook"
puts "Trang mạng xã hội"
when "Youtube"
puts "Trang chia sẻ video clip"
when "SlideShare"
puts "Trang chia sẻ slide"
else
puts "Website khác"
end
Ở ví dụ trên Ruby sẽ so sánh giá trị của biến site so với các giá trị trong mệnh đề when, nếu hai giá trị này là như nhau thì câu lệnh (hoặc khối lệnh) đặt trong when sẽ được thực thi.
Nguồn: CodeHub.vn
Không có nhận xét nào:
Đăng nhận xét