Ruby - nếu ... khác, trường hợp, trừ khi
Ruby cung cấp các cấu trúc có điều kiện khá phổ biến đối với các ngôn ngữ hiện đại. Ở đây, chúng tôi sẽ giải thích tất cả các câu lệnh điều kiện và bổ ngữ có sẵn trong Ruby.
Câu lệnh Ruby if ... else
Cú pháp
if conditional [then]
code...
[elsif conditional [then]
code...]...
[else
code...]
end
nếu biểu thức được sử dụng để thực hiện có điều kiện. Các giá trị false và nil là false và mọi thứ khác đều đúng. Lưu ý Ruby sử dụng elsif, không phải else if nor elif.
Thực thi mã nếu điều kiện là đúng. Nếu điều kiện không đúng, mã được chỉ định trong mệnh đề else sẽ được thực thi.
Điều kiện của biểu thức if được phân tách khỏi mã bằng từ dành riêng sau đó , một dòng mới hoặc dấu chấm phẩy.
Thí dụ
#!/usr/bin/ruby
x = 1
if x > 2
puts "x is greater than 2"
elsif x <= 2 and x!=0
puts "x is 1"
else
puts "I can't guess the number"
end
x is 1
Ruby if sửa đổi
Cú pháp
code if condition
Thực thi mã nếu điều kiện là đúng.
Thí dụ
#!/usr/bin/ruby
$debug = 1
print "debug\n" if $debug
Điều này sẽ tạo ra kết quả sau:
debug
Ruby trừ khi Tuyên bố
Cú pháp
unless conditional [then]
code
[else
code ]
end
Thực thi mã nếu điều kiện là sai. Nếu điều kiện là đúng, mã được chỉ định trong mệnh đề else sẽ được thực thi.
Thí dụ
#!/usr/bin/ruby
x = 1
unless x>=2
puts "x is less than 2"
else
puts "x is greater than 2"
end
Điều này sẽ tạo ra kết quả sau:
x is less than 2
Ruby trừ khi sửa đổi
Cú pháp
code unless conditional
Thực thi mã nếu điều kiện là sai.
Thí dụ
#!/usr/bin/ruby
$var = 1
print "1 -- Value is set\n" if $var
print "2 -- Value is set\n" unless $var
$var = false
print "3 -- Value is set\n" unless $var
Điều này sẽ tạo ra kết quả sau:
1 -- Value is set
3 -- Value is set
Tuyên bố trường hợp Ruby
Cú pháp
case expression
[when expression [, expression ...] [then]
code ]...
[else
code ]
end
So sánh biểu thức được chỉ định theo trường hợp và biểu thức được chỉ định bởi khi sử dụng toán tử === và thực thi mã của mệnh đề when phù hợp.
Các biểu hiện theo quy định của mệnh đề khi được đánh giá là các toán hạng bên trái. Nếu không khi các mệnh đề khớp nhau, case thực thi mã của mệnh đề else .
Một khi biểu hiện tuyên bố của được tách ra từ mã bởi các từ dành riêng sau đó, một dòng mới, hoặc một dấu chấm phẩy. Như vậy -
case expr0
when expr1, expr2
stmt1
when expr3, expr4
stmt2
else
stmt3
end
về cơ bản tương tự như sau:
_tmp = expr0
if expr1 === _tmp || expr2 === _tmp
stmt1
elsif expr3 === _tmp || expr4 === _tmp
stmt2
else
stmt3
end
Thí dụ
#!/usr/bin/ruby
$age = 5
case $age
when 0 .. 2
puts "baby"
when 3 .. 6
puts "little child"
when 7 .. 12
puts "child"
when 13 .. 18
puts "youth"
else
puts "adult"
end
Điều này sẽ tạo ra kết quả sau:
little child