آرایهها در روبی
تعریف آرایه، دسترسی به عناصر، تغییر مقادیر و ویژگیهای آرایه در روبی
آرایه چیست؟
آرایه (Array) مجموعهای مرتب و تغییرپذیر از مقادیر است. آرایه میتواند هر نوع دادهای را در خود نگه دارد — حتی انواع مختلف با هم.
تعریف آرایه
# آرایه خالی
empty = []
empty = Array.new
# آرایه با مقادیر
fruits = ["سیب", "موز", "پرتقال"]
numbers = [1, 2, 3, 4, 5]
mixed = [1, "دو", 3.0, true, nil]
# Array.new با اندازه
zeros = Array.new(5, 0) # => [0, 0, 0, 0, 0]
range_arr = Array.new(3) { |i| i * 2 } # => [0, 2, 4]
دسترسی به عناصر
ایندکس آرایه از صفر شروع میشود:
fruits = ["سیب", "موز", "پرتقال", "انگور", "هلو"]
# ایندکس مثبت
puts fruits[0] # => سیب (اولین)
puts fruits[2] # => پرتقال
# ایندکس منفی (از آخر)
puts fruits[-1] # => هلو (آخرین)
puts fruits[-2] # => انگور
# متدهای first و last
puts fruits.first # => سیب
puts fruits.last # => هلو
برش آرایه (Slicing)
arr = [10, 20, 30, 40, 50]
puts arr[1, 3].inspect # => [20, 30, 40] (از ۱، به طول ۳)
puts arr[1..3].inspect # => [20, 30, 40] (از ۱ تا ۳)
puts arr[2..].inspect # => [30, 40, 50] (از ۲ تا انتها)
puts arr[..2].inspect # => [10, 20, 30] (از ابتدا تا ۲)
تغییر عناصر
arr = ["آ", "ب", "ج"]
arr[0] = "الف"
puts arr.inspect # => ["الف", "ب", "ج"]
# تغییر چند عنصر
arr[1, 2] = ["ب", "ج", "د"]
puts arr.inspect # => ["الف", "ب", "ج", "د"]
طول آرایه
arr = [1, 2, 3, 4, 5]
puts arr.length # => 5
puts arr.size # => 5
puts arr.count # => 5
افزودن و حذف عناصر
| متد | توضیح |
|---|---|
push / << | افزودن به انتها |
pop | حذف از انتها |
unshift | افزودن به ابتدا |
shift | حذف از ابتدا |
insert | درج در موقعیت مشخص |
delete | حذف با مقدار |
delete_at | حذف با ایندکس |
arr = [1, 2, 3]
# افزودن
arr.push(4) # => [1, 2, 3, 4]
arr << 5 # => [1, 2, 3, 4, 5]
arr.unshift(0) # => [0, 1, 2, 3, 4, 5]
# حذف
arr.pop # => 5 (حذف آخر)
arr.shift # => 0 (حذف اول)
arr.delete(3) # حذف مقدار 3
puts arr.inspect # => [1, 2, 4]
بررسی عضویت
arr = [1, 2, 3, 4, 5]
puts arr.include?(3) # => true
puts arr.include?(10) # => false
پیمایش آرایه
fruits = ["سیب", "موز", "پرتقال"]
# با each
fruits.each do |fruit|
puts fruit
end
# با each_with_index
fruits.each_with_index do |fruit, i|
puts "#{i + 1}. #{fruit}"
end
آرایههای چندبعدی
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
puts matrix[0][0] # => 1
puts matrix[1][2] # => 6
خلاصه
| عملیات | سینتکس |
|---|---|
| تعریف | [1, 2, 3] |
| دسترسی | arr[i] |
| برش | arr[start, len] |
| طول | arr.length |
| افزودن | arr << val |
| حذف | arr.pop |
| عضویت | arr.include?(x) |
این مبحث بخشی از دوره آموزش کامل روبی است.