Menu
CoddyTech

Phạm vi là gì?

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

Bạn đã dùng dải giá trị với vòng lặp for và thao tác cắt mảng. Nhưng dải giá trị là một đối tượng Ruby thực sự, không chỉ là cú pháp, nó có các phương thức riêng.

Tạo một phạm vi bằng .. (hai dấu chấm, bao gồm giá trị cuối) hoặc ... (ba dấu chấm, không bao gồm giá trị cuối):

inclusive = 1..5    # 1, 2, 3, 4, 5
exclusive = 1...5   # 1, 2, 3, 4

Chuyển một khoảng thành mảng bằng to_a để xem chính xác khoảng đó bao gồm những gì:

puts (1..5).to_a.inspect    # [1, 2, 3, 4, 5]
puts (1...5).to_a.inspect   # [1, 2, 3, 4]

Phạm vi không chỉ dùng cho số. Chúng còn hoạt động với mọi thứ có thứ tự, kể cả chữ cái:

puts ("a".."e").to_a.inspect  # ["a", "b", "c", "d", "e"]
challenge icon

Thử thách

Người mới

Đọc hai số nguyên (hai dòng đầu vào): một giá trị start và một giá trị end_value. In ra ba dòng:

  1. Phạm vi bao gồm cả hai đầu mút start..end_value dưới dạng mảng (dùng inspect)
  2. Phạm vi không bao gồm đầu mút cuối start...end_value dưới dạng mảng
  3. Kích thước của phạm vi bao gồm cả hai đầu mút

Với đầu vào 1 rồi đến 5, đầu ra là:

[1, 2, 3, 4, 5]
[1, 2, 3, 4]
5

Tự làm thử

start     = gets.to_i
end_value = gets.to_i

# TODO: in ra khoảng gồm cả hai đầu mút, khoảng không gồm điểm cuối và số phần tử tính cả hai đầu mút
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