Thêm biến tấu
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 57 trên 88.
Thử thách
DễTrong bài học trước, bạn đã tạo một chương trình FizzBuzz lặp qua các số bằng các ước số mặc định là 3 và 5. Bây giờ, hãy thêm điểm mới bằng cách cho phép tùy chỉnh các ước số thông qua tham số mặc định.
Sửa phương thức fizzbuzz để nhận ba đối số:
n- số cần kiểm tra (bắt buộc)fizz_divisor- ước số dùng cho "Fizz" (không bắt buộc, mặc định là3)buzz_divisor- ước số dùng cho "Buzz" (không bắt buộc, mặc định là5)
Phương thức này nên dùng các ước số tùy chỉnh thay cho các giá trị cố định khi kiểm tra tính chia hết.
Bạn sẽ nhận ba dòng đầu vào:
- Giới hạn trên
n - Ước số fizz
- Ước số buzz
Lặp từ 1 đến n và gọi phương thức fizzbuzz đã cập nhật với cả ba đối số. In ra từng kết quả.
Ví dụ, nếu đầu vào là:
10
2
3Đầu ra sẽ là:
1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
FizzNếu đầu vào là:
15
3
5Đầu ra sẽ là:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzzTự làm thử
# Read input
n = gets.chomp.to_i
# Method from previous lesson
def check_divisible(number, divisor)
return number % divisor == 0
end
# Create the fizzbuzz method
def fizzbuzz(n)
if check_divisible(n, 3) && check_divisible(n, 5)
return "FizzBuzz"
elsif check_divisible(n, 3)
return "Fizz"
elsif check_divisible(n, 5)
return "Buzz"
else
return n.to_s
end
end
# Loop through numbers from 1 to n and print the result
(1..n).each do |i|
puts fizzbuzz(i)
endTấ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