Truy cập phần tử trong mảng
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 59 trên 88.
Mỗi phần tử trong mảng có một vị trí gọi là chỉ số. Trong Ruby, chỉ số bắt đầu từ 0, nghĩa là phần tử đầu tiên ở chỉ số 0, phần tử thứ hai ở chỉ số 1, v.v.
Để truy cập một phần tử (element), hãy dùng dấu ngoặc vuông cùng với chỉ số (index):
fruits = ["apple", "banana", "cherry"]
puts fruits[0] # In ra: apple
puts fruits[1] # In ra: banana
puts fruits[2] # In ra: cherryRuby cũng hỗ trợ chỉ số âm, tính từ cuối mảng. Chỉ số -1 chỉ phần tử cuối cùng, -2 chỉ phần tử áp chót, và cứ thế tiếp tục:
colors = ["red", "green", "blue"]
puts colors[-1] # In ra: blue
puts colors[-2] # In ra: greenBạn cũng có thể dùng các phương thức (method) first và last để truy cập nhanh hai đầu của mảng (array):
numbers = [10, 20, 30, 40]
puts numbers.first # In ra: 10
puts numbers.last # In ra: 40Nếu bạn thử truy cập một chỉ số không tồn tại, Ruby trả về nil thay vì báo lỗi:
letters = ["a", "b", "c"]
puts letters[10] # Đầu ra: (không có gì, nil)Thử thách
DễBạn được cung cấp mảng sau:
planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]Đọc một số nguyên từ đầu vào, đại diện cho một chỉ số. Truy cập phần tử tại chỉ số đó và in ra.
Dùng chỉ số âm khi đầu vào là số âm. Đầu vào luôn là một chỉ số hợp lệ của mảng này, trong khoảng từ -8 đến 7.
Sau khi in phần tử tại chỉ số đã cho, hãy in phần tử đầu tiên và cuối cùng của mảng trên các dòng riêng biệt bằng phương thức first và last.
Ví dụ, nếu đầu vào là 2, đầu ra sẽ là:
Earth
Mercury
NeptuneNếu đầu vào là -1, đầu ra sẽ là:
Neptune
Mercury
NeptuneNếu đầu vào là 4, đầu ra sẽ là:
Jupiter
Mercury
NeptuneTự làm thử
# Mảng các hành tinh
planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
# Đọc chỉ số từ đầu vào
index = gets.chomp.to_i
# TODO: Viết code của bạn bên dưới
# 1. Truy cập và in ra phần tử tại chỉ số đã cho
# 2. In ra phần tử đầu tiên bằng phương thức first
# 3. In ra phần tử cuối cùng bằng phương thức lastBà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 động11Mảng
Tạo mảngTruy cập phần tử trong mảngThay đổi mảngPhương thức của mảngÔn tập: Mảng tíchÔn tập: Mảng đảo ngượcMẹo dùng mả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