Phép tính số học rút gọn
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 13 trên 88.
Khi cần cập nhật giá trị của một biến dựa trên giá trị hiện tại, Ruby cung cấp các toán tử viết tắt gọi là toán tử gán kết hợp. Các toán tử này kết hợp phép toán số học với phép gán trong một bước.
Thay vì viết score = score + 10, bạn có thể dùng score += 10. Cả hai đều làm cùng một việc, nhưng cách viết tắt gọn hơn và phổ biến hơn trong code thực tế.
Dưới đây là các phép viết tắt số học có trong Ruby:
points = 100
points += 25 # Tương đương với: points = points + 25 (giờ là 125)
points -= 10 # Tương đương với: points = points - 10 (giờ là 115)
points *= 2 # Tương đương với: points = points * 2 (giờ là 230)
points /= 5 # Tương đương với: points = points / 5 (giờ là 46)
points %= 10 # Tương đương với: points = points % 10 (giờ là 6)Các cú pháp rút gọn này hoạt động với tất cả toán tử số học bạn đã học, bao gồm cả phép chia lấy dư. Chúng đặc biệt hữu ích khi tăng bộ đếm hoặc cộng dồn tổng, giúp code ngắn gọn và dễ đọc hơn.
Thử thách
DễBạn được cung cấp biến sau:
balance = 200Chỉ sử dụng các toán tử gán kết hợp (+=, -=, *=, /=, %=), hãy thực hiện lần lượt các phép toán sau với balance:
- Cộng
50vàobalance - Trừ
30khỏibalance - Nhân
balancevới2 - Chia
balancecho4 - Lấy số dư khi chia
balancecho7
Sau mỗi phép toán, hãy dùng puts để hiển thị giá trị hiện tại của balance. Tổng cộng, bạn cần có 5 dòng đầu ra.
Tự làm thử
# Số dư ban đầu
balance = 200
# TODO: Viết code của bạn bên dưới
# Dùng các toán tử gán kết hợp (+=, -=, *=, /=, %=) để:
# 1. Cộng 50 vào balance, rồi in ra giá trị của balance
# 2. Trừ 30 khỏi balance, rồi in ra giá trị của balance
# 3. Nhân balance với 2, rồi in ra giá trị của balance
# 4. Chia balance cho 4, rồi in ra giá trị của balance
# 5. Lấy phần dư khi chia balance cho 7, rồi in ra giá trị của balanceBà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