- Toán tử số học + - * /
- Chia lấy dư %
- Lấy lũy thừa **
- Công thêm, trừ đi ...
- Gán song song
- Độ ưu tiên các toán tử
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