Kiểu Boolean
Trong Ruby có hai giá trị thuộc kiểu bolean (logic) là true
và false
biểu thị đúng, sai hay bật, tắt ...
isGuest = true
Trong các biểu thức logic, nếu bạn sử dụng các giá trị khác kiểu Boolean (không phải true, false) thì
Ruby tự động xác định nó ứng xử như boolean, có những giá trị nhận giá trị đúng tương ứng với true
, có những giá trị nhận sai tương ứng với false
Trong Ruby nhận sai (false) chỉ có bolean false
và nil
còn lại
đều nhận là true
(kể cả số 0).
Giá trị nil
biểu thị một biến không có giá trị nào cả.
Toán tử so sánh trong Ruby
Các toán tử so sánh như so sánh bằng, lớn hơn, nhỏ hơn ... trả về kết quả là true
hoặc false
: Có các toán tử so sánh:
Toán tử | Mô tả |
---|---|
== |
So sánh bằng, trả về true nếu 2 số hạng bằng nhau a = 1 b = 2 puts a == b # false puts a == 1 # true |
!= |
So sánh khác, trả về true nếu 2 số hạng khác nhau
puts 3 != 2 # false |
> |
Lớn hơn, trả về true nếu số hạng trái lớn hơn số hạng phải |
>= |
Lớn hơn hoặc bằng, trả về true nếu số hạng trái lớn hoặc bằng hơn số hạng phải |
< |
Nhỏ hơn, trả về true nếu số hạng trái nhỏ hơn số hạng phải |
<= |
Nhỏ hơn hoặc bằng, trả về true nếu số hạng trái nhỏ hơn hoặc bằng hơn số hạng phải |
Các đối tượng còn có phương thức eql?
để so sánh bằng kể cả về giá trị và kiểu dữ liệu.
puts 3 == 3.0 # true puts 3.eql?(3.0) # false (bằng về giá trị nhưng khác kiểu)
Toán tử Logic
Các toán tử logic để kết hợp các điều kiện logic gồm có các toán tử và, hoặc, phủ định
Toán tử | Mô tả |
---|---|
&& |
Toán sử logic và, trả về true nếu cả hai toán hạng là true, ngược lại false.
a = 100 b = 200 if a > 10 && b < a puts "Đúng rồi" end # Đúng rồi |
|| |
Phép logic hoặc, a || b kết quả true nếu a hoặc b là true |
!biểu_thức |
Phép phủ định !a nếu a là true thì kết quả phép toán là false |