Lưu trữ các biến bên trong các biến là phổ biến trong Ruby và thường được gọi là ” cấu trúc dữ liệu “. Có nhiều loại cấu trúc dữ liệu, trong đó đơn giản nhất là mảng.
Các chương trình thường phải quản lý các tập hợp các biến. Ví dụ: chương trình quản lý lịch của bạn phải có danh sách các ngày trong tuần. Mỗi ngày phải được lưu trữ trong một biến và danh sách chúng có thể được lưu trữ cùng nhau trong một biến mảng. Thông qua biến mảng đó, bạn có thể truy cập từng ngày.
Tạo mảng trống
Bạn có thể tạo một mảng trống bằng cách tạo một đối tượng Array mới và lưu trữ nó trong một biến. Mảng này sẽ trống; bạn phải điền nó với các biến khác để sử dụng nó. Đây là một cách phổ biến để tạo các biến nếu bạn đọc danh sách các thứ từ bàn phím hoặc từ một tệp.
Trong chương trình ví dụ sau, một mảng trống được tạo bằng lệnh mảng và toán tử gán. Ba chuỗi (chuỗi ký tự có thứ tự) được đọc từ bàn phím và được “đẩy” hoặc thêm vào cuối mảng.
#!/usr/bin/env ruby
array = Array.new 3.times
do
str = gets.chomp
array.push str
end
Sử dụng một mảng chữ để lưu trữ thông tin đã biết
Một cách sử dụng khác của mảng là lưu trữ danh sách những thứ bạn đã biết khi viết chương trình, chẳng hạn như các ngày trong tuần. Để lưu trữ các ngày trong tuần trong một mảng, bạn có thể tạo một mảng trống và thêm từng thứ một vào mảng như trong ví dụ trước, nhưng có một cách dễ dàng hơn. Bạn có thể sử dụng một mảng chữ .
Trong lập trình, “nghĩa đen” là một loại biến được tích hợp sẵn trong ngôn ngữ và có một cú pháp đặc biệt để tạo ra nó. Ví dụ: 3 là một chữ số và “Ruby” là một chuỗi ký tự . Mảng chữ là danh sách các biến được đặt trong dấu ngoặc vuông và được phân tách bằng dấu phẩy, chẳng hạn như [ 1, 2, 3 ] . Lưu ý rằng bất kỳ loại biến nào cũng có thể được lưu trữ trong một mảng, kể cả các biến có kiểu khác nhau trong cùng một mảng.
Chương trình ví dụ sau tạo một mảng chứa các ngày trong tuần và in chúng. Một mảng chữ được sử dụng và mỗi vòng lặp được sử dụng để in chúng. Lưu ý rằng mỗi cái không được tích hợp sẵn trong ngôn ngữ Ruby mà thay vào đó là một hàm của biến mảng.
#!/usr/bin/env ruby
days = [ “Thứ Hai”,
“Thứ Ba”, “Thứ Tư”
,
“Thứ Năm”, “
Thứ Sáu”,
“Thứ Bảy”,
“Chủ nhật”
]
ngày.mọi thứ|d|
kết thúc
_
Sử dụng toán tử chỉ mục để truy cập các biến riêng lẻ
Ngoài việc đơn giản là lặp qua một mảng, kiểm tra từng biến riêng lẻ theo thứ tự, bạn cũng có thể truy cập các biến riêng lẻ từ một mảng bằng cách sử dụng toán tử chỉ mục. Toán tử chỉ mục sẽ lấy một số và truy xuất một biến từ mảng có vị trí trong mảng khớp với số đó. Các số chỉ mục bắt đầu từ 0, vì vậy biến đầu tiên trong một mảng có chỉ mục bằng 0.
Vì vậy, ví dụ, để truy xuất biến đầu tiên từ một mảng, bạn có thể sử dụng array[0] và để truy xuất biến thứ hai, bạn có thể sử dụng array[1] . Trong ví dụ sau, một danh sách các tên được lưu trữ trong một mảng và được truy xuất và in bằng toán tử chỉ mục. Toán tử chỉ mục cũng có thể được kết hợp với toán tử gán để thay đổi giá trị của một biến trong một mảng.
#!/usr/bin/env
tên ruby = [ “Bob”, “Jim”,
“Joe”, “Susan” ]
đặt tên[0] # Bob
đặt tên[2] # Joe
# Đổi tên của Jim thành Billy
[1] = “Billy”