Toán tử logic phần 4
Thuộc phần Kiến thức nền tảng trong hành trình Ruby của Coddy. Bài học 20 trên 88.
Khi kết hợp nhiều toán tử logic trong một biểu thức, Ruby sẽ đánh giá chúng theo một thứ tự cụ thể dựa trên độ ưu tiên của toán tử. Hiểu rõ thứ tự này giúp bạn viết các điều kiện chính xác và tránh kết quả ngoài dự kiến.
Thứ tự ưu tiên từ cao nhất đến thấp nhất là: ! (phủ định), tiếp theo là && (và), rồi đến || (hoặc). Điều này có nghĩa là ! được tính trước, tiếp theo là &&, cuối cùng là ||:
true || false && false # true (&& được tính trước)
# Tương đương với: true || (false && false)
!false && true # true (! được tính trước)
# Tương đương với: (!false) && trueBạn có thể dùng dấu ngoặc đơn để thay đổi thứ tự ưu tiên mặc định và làm rõ ý định của mình:
(true || false) && false # false (dấu ngoặc buộc tính || trước)
true || (false && false) # true (cách tính mặc định)Ngay cả khi dấu ngoặc đơn không thực sự cần thiết, việc thêm chúng thường giúp biểu thức phức tạp dễ đọc hơn. Khi phân vân, hãy dùng dấu ngoặc đơn để thể hiện rõ cách nhóm các điều kiện.
Thử thách
DễBạn được cung cấp các biến sau:
x = true
y = false
z = true
a = falseHãy đánh giá các biểu thức sau và hiển thị kết quả của từng biểu thức trên một dòng riêng. Hãy chú ý đến thứ tự ưu tiên của toán tử: ! được đánh giá trước, tiếp theo là &&, cuối cùng là ||.
x || y && z!y && zx && y || z!a || y && zx && !y && z(x || y) && ax || (y && a)!(x && y) || z
Mỗi kết quả đầu ra phải là true hoặc false.
Tự làm thử
# Các biến đã được định nghĩa sẵn cho bạn
x = true
y = false
z = true
a = false
# TODO: Tính giá trị từng biểu thức và in kết quả, mỗi kết quả trên một dòng riêng
# Nhớ thứ tự ưu tiên của toán tử: ! trước, rồi đến &&, sau đó là ||
# 1. x || y && z
puts # biểu thức của bạn ở đây
# 2. !y && z
puts # biểu thức của bạn ở đây
# 3. x && y || z
puts # biểu thức của bạn ở đây
# 4. !a || y && z
puts # biểu thức của bạn ở đây
# 5. x && !y && z
puts # biểu thức của bạn ở đây
# 6. (x || y) && a
puts # biểu thức của bạn ở đây
# 7. x || (y && a)
puts # biểu thức của bạn ở đây
# 8. !(x && y) || z
puts # biểu thức của bạn ở đâyBài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
4Toán tử phần 2
Toán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giảnToán tử logic phần 3Toán tử logic phần 42Biến và kiểu dữ liệu
Số và biếnKiểu dữ liệu chuỗiKiểu dữ liệu BooleanKiểu dữ liệu SymbolKiểm tra kiểu dữ liệuQuy ước đặt tênÔn tập: tạo biến8Vòng lặp
Vòng lặp for với khoảng giá trịVòng lặp whileThoátTiếp tụcÔn tập: giai thừaVòng lặp timesVòng lặp untilVòng lặp lồng nhauÔn tập: đầu vào động3Toán tử phần 1
Toán tử số họcToán tử moduloPhép tính số học rút gọnÔn tập: Toán cơ bảnToán tử so sánh6Nhập xuất cơ bản
In ra bằng putsIn ra bằng print và pIn ra bằng biếnNhập dữ liệu bằng getsPhương thức chompChuyển đổi kiểu dữ liệuÔn tập: Tính tuổiÔn tập: Đúng hay sai9Phương thức
Định nghĩa phương thứcTham số phương thứcGiá trị trả vềÔn tập: phương thức SigmaÔn tập: phương thức xác thựcGiá trị tham số mặc định15Theo dõi chi tiêu hằng ngày
Tổng quan dự ánThoát chương trìnhTự luyện tập: Trình biên dịch Ruby online