Menu
CoddyTech

Tham số của khối lệnh

Thuộc phần Logic và luồng xử lý trong hành trình Ruby của Coddy. Bài học 18 trên 56.

Các biến nằm giữa hai dấu gạch đứng, |x|, |x, y|, là tham số của khối lệnh (block parameters). Chúng đặt tên cho các giá trị mà phương thức truyền vào khối lệnh.

Một số phương thức truyền một giá trị, số khác truyền nhiều giá trị. each truyền từng phần tử một:

[10, 20, 30].each { |n| puts n }

each_with_index truyền hai giá trị: phần tử và chỉ số (index) của phần tử đó:

["a", "b", "c"].each_with_index do |letter, i|
  puts "#{i}: #{letter}"
end
# 0: a
# 1: b
# 2: c

Khi duyệt qua một hash, các tham số của khối lệnh là khóa và giá trị:

{ a: 1, b: 2 }.each do |key, value|
  puts "#{key} = #{value}"
end

Số lượng và thứ tự các tham số của khối phụ thuộc vào giá trị mà phương thức (method) trả về. Nếu chưa chắc, hãy xem tài liệu hoặc thử dùng một tham số để xem kết quả.

challenge icon

Thử thách

Dễ

Đã cho từ điển scores. Lặp qua dạng to_a của nó bằng each_with_index để bạn có thể truy cập cả cặp (name, points) lẫn vị trí của cặp đó. In mỗi mục trên một dòng theo định dạng sau:

<rank>. <name> - <points>

Trong đó rank bắt đầu từ 1 (không phải 0).

Với từ điển mặc định, đầu ra là:

1. Alice - 90
2. Bob - 85
3. Cara - 78

Tự làm thử

scores = { "Alice" => 90, "Bob" => 85, "Cara" => 78 }

# TODO: in ra "<rank>. <name> - <points>" cho từng mục, thứ hạng bắt đầu từ 1
quiz iconTự kiểm tra

Bà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 Logic và luồng xử lý

Tự luyện tập: Trình biên dịch Ruby online