×

Sử dụng phép toán logic and, or, not trong Ruby

Trong ngôn ngữ lập trình Ruby, các phép toán logic "and", "or" và "not" là những công cụ quan trọng giúp lập trình viên xây dựng các điều kiện và kiểm tra giá trị. Những phép toán này hoạt động tương tự như trong các ngôn ngữ lập trình khác, tuy nhiên, Ruby có một số đặc điểm độc đáo đáng chú ý. Bài viết dưới đây sẽ giới thiệu chi tiết về cách sử dụng từng phép toán logic này trong Ruby.

Phép toán "and" trong Ruby

Phép toán "and" được sử dụng để kết hợp hai hoặc nhiều điều kiện, và chỉ trả về giá trị đúng (true) nếu tất cả các điều kiện đều đúng. Trong Ruby, có hai cách để biểu diễn phép toán "and": sử dụng từ khóa "and" hoặc sử dụng ký hiệu "&&".

Ví dụ:

a = true
b = true
c = false

result1 = a and b # Trả về true
result2 = a && b # Trả về true
result3 = a && c # Trả về false

Cần lưu ý rằng từ khóa "and" và ký hiệu "&&" có độ ưu tiên khác nhau. "&&" có độ ưu tiên cao hơn, do đó nó thường được sử dụng trong các biểu thức phức tạp.

x = true && false || true # Trả về true vì && được thực hiện trước
y = true and false || true # Trả về false vì and có độ ưu tiên thấp hơn

Phép toán "or" trong Ruby

Phép toán "or" được sử dụng để kết hợp hai hoặc nhiều điều kiện, và chỉ trả về giá trị sai (false) nếu tất cả các điều kiện đều sai. Trong Ruby, có hai cách để biểu diễn phép toán "or": sử dụng từ khóa "or" hoặc sử dụng ký hiệu "||".

Ví dụ:

a = true
b = false
c = false

result1 = a or b # Trả về true
result2 = a || b # Trả về true
result3 = b || c # Trả về false

Tương tự như "and", từ khóa "or" và ký hiệu "||" cũng có độ ưu tiên khác nhau. "||" có độ ưu tiên cao hơn.

x = false || true && false # Trả về false vì && được thực hiện trước
y = false or true && false # Trả về false vì and có độ ưu tiên cao hơn or

Phép toán "not" trong Ruby

Phép toán "not" được sử dụng để phủ định giá trị logic của một biểu thức. Nó có thể được biểu diễn bằng từ khóa "not" hoặc ký hiệu "!" trong Ruby.

Ví dụ:

a = true
b = false

result1 = not a # Trả về false
result2 = !a # Trả về false
result3 = !b # Trả về true

Phép toán "not" thường được sử dụng để làm ngược lại kết quả của một điều kiện nhất định.

def check_positive(number)
  return not number <= 0
end

puts check_positive(5) # Trả về true
puts check_positive(-3) # Trả về false

Kết luận

Trong lập trình Ruby, phép toán logic có vai trò rất quan trọng giúp xử lý các điều kiện và ra quyết định. Hiểu rõ cách sử dụng các phép toán logic "and", "or" và "not" sẽ giúp bạn viết mã nguồn hiệu quả và rõ ràng hơn. Hãy luôn chú ý đến độ ưu tiên của từng phép toán để tránh những lỗi không như mong muốn trong quá trình lập trình.

Comments