Toán tử Ví dụ Diễn giải
+ 5 + 10 (15) Phép cộng
- 5 - 10 (-5) Phép trừ
* 5 * 10 (50) Phép nhân
/ 5.0 / 10 (0.5) Phép chia
% 9 % 2 (1) Chia lấy dư
** 3 ** 2 (9) Lũy thừa
+= a += 3 (a = a + 3) Cộng thêm, áp dụng tương tự cho *=, /=, -=

Các toán tử số học + - * / ruby

Các toán tử số học như cộng +, trừ -, nhân *, chia / được viết giữa hai số hạng

a = 10 # số hạng
b = 3  # số hạng

puts a + b   # phép cộng
puts a - b   # trừ
puts a / b   # chia
puts a * b   # nhân

# Kết quả
# 13
# 7
# 3
# 30

Để ý trong phép toán chia, 10 / 3 đây là chia 2 số nguyên, kết qua sẽ là số nguyên là phần nguyên của phép chia 10/3 = 3. Nếu muốn lấy giá trị thực thì cần có một số hạng là số thực ví dụ

puts 10.0 / 3
# 3.3333333333333335

Toán tử Modulus - chia lấy phần dư trong ruby

Phép chia lấy dư ký hiệu là %

puts 9.5 % 3
# 0.5

Lấy lũy thừa ** trong ruby

Phép toán ** để lấy lũy thừa, ví dụ a lũy thừa b viết a ** b

a = 2
b = 4
puts a ** b
# 16

Dạng ngắn gọn của phép gán cộng thêm, trừ đi, nhân với ...

Khi bạn gán một giá trị cho biết bằng cách cộng thêm vào biến một giá trị ví dụ:

a = 5
a = a + 5;

Bạn có thể viết ngắn gọn là

a = 5
a += 5;

Cách tương tự với các toán tử -=, *=, /=, %=, **=

a = 3
b = 2
a += b  # a = a + b
a -= b  # a = a - b
a *= b  # a = a * b
a /= b  # a = a / b
a %= b  # a = a % b
a **=b  # a = a**b

Gán song song

Ruby cho phép thực hiện phép gán song song nhiều biến cùng lúc trên một dòng, các biến và giá trị cách nhau bởi ,

a,b = 5,10  # gán a = 5 và b = 10

Phép toán này khá tiện dụng khi chuyển đối giá trị lưu trữ trong hai biến

a = 5
b = 10
a,b = b,a
puts a,b
# in ra 10, 5

Độ ưu tiên các toán tử

Trong một biểu thức có thể nhóm các số hạng bằng ký hiệu (), các toán tử có trong một biểu thức được tính toán trước sau với độ ưu tiên là tính toán trong ngoặc, rồi phép nhân, chia, chia lấy dư rồi đến các phép toán cộng trừ. Nhân, chia cùng độ ưu tiên; cộng, trừ cùng độ ưu tiên vậy chúng sẽ tính toán từ trái qua phải

a = (2 + 5) / 7 * 2
# 2

Đăng ký nhận bài viết mới