آرایهها در جولیا
تعریف آرایه، ایندکس از ۱، برش (slicing)، push!/pop! و آرایههای چندبعدی
آرایه چیست؟
آرایه (Array) کالکشن مرتب و تغییرپذیر است — پرکاربردترین ساختار داده جولیا:
# آرایههای یکبعدی (vector)
nums = [1, 2, 3, 4, 5]
fruits = ["سیب", "موز", "پرتقال"]
mixed = [1, "دو", 3.0, true] # انواع مخلوط!
ایندکس از ۱!
arr = [10, 20, 30, 40, 50]
println(arr[1]) # 10 (اولین!)
println(arr[end]) # 50 (آخرین)
println(arr[end-1]) # 40
ایندکس جولیا از ۱ شروع میشود (مثل ریاضی و Lua) — نه ۰ مثل پایتون!
برش (Slicing)
arr = [10, 20, 30, 40, 50]
println(arr[1:3]) # [10, 20, 30]
println(arr[2:end]) # [20, 30, 40, 50]
println(arr[end-1:end]) # [40, 50]
# با گام
println(arr[1:2:end]) # [10, 30, 50]
تغییر عناصر
arr = [1, 2, 3]
arr[1] = 100
println(arr) # [100, 2, 3]
# تغییر یک برش!
arr[1:2] = [7, 8]
println(arr) # [7, 8, 3]
افزودن و حذف — با !
arr = [1, 2, 3]
# افزودن به انتها
push!(arr, 4)
println(arr) # [1, 2, 3, 4]
# حذف از انتها
pop!(arr)
println(arr) # [1, 2, 3]
# افزودن به ابتدا
pushfirst!(arr, 0)
println(arr) # [0, 1, 2, 3]
# حذف از ابتدا
popfirst!(arr)
println(arr) # [1, 2, 3]
# حذف از موقعیت دلخواه
deleteat!(arr, 2)
println(arr) # [1, 3]
# درج در موقعیت
insert!(arr, 2, 99)
println(arr) # [1, 99, 3]
ساخت آرایههای خاص
# اعداد متوالی
println(collect(1:5)) # [1, 2, 3, 4, 5]
# پر از مقدار
zeros = zeros(3) # [0.0, 0.0, 0.0]
# [1.0, 1.0, 1.0, 1.0]
filled = fill("سلام", 3) # ["سلام", "سلام", "سلام"]
# تکرار
println(repeat([1, 2], 3)) # [1, 2, 1, 2, 1, 2]
آرایههای چندبعدی — ماتریس!
# ماتریس ۲×۳ (سطر به سطر!)
M = [1 2 3; 4 5 6]
println(M)
-- 1 2 3
-- 4 5 6
# دسترسی
println(M[1, 2]) # 2 (سطر ۱، ستون ۲)
println(M[2, 3]) # 6
# ابعاد
println(size(M)) # (2, 3)
جولیا برای جبر خطی ساخته شده — ماتریسها شهروند درجهیک هستند و همه عملیات (ضرب، ترانهاده، معکوس) داخلیاند!
عملیات روی آرایه
arr = [4, 8, 15, 16, 23, 42]
println(length(arr)) # 6
println(sum(arr)) # 108
println(maximum(arr)) # 42
println(minimum(arr)) # 4
println(sort(arr)) # مرتبشده
println(reverse(arr)) # برعکس
# جستجو
println(42 in arr) # true
println(findfirst(x -> x > 20, arr)) # 5 (ایندکس اولین >۲۰)
این مبحث بخشی از دوره آموزش کامل جولیا است.