حلقه‌ها در جولیا

حلقه‌های while و for، پیمایش آرایه و رشته، break و continue

حلقه چیست؟

حلقه (Loop) کد را چند بار تکرار می‌کند. جولیا دو حلقه اصلی دارد: while و for.

حلقه while

count = 1

while count <= 5
    println("شماره: $count")
    count += 1
end

حلقه for — پرکاربردترین

# از ۱ تا ۵
for i in 1:5
    println("تکرار: $i")
end

# با گام
for i in 0:2:10
    println(i)   # 0, 2, 4, 6, 8, 10
end

# شمارش معکوس
for i in 5:-1:1
    println("$i...")
end
println("پرواز! 🚀")

پیمایش کالکشن‌ها

# آرایه
fruits = ["سیب", "موز", "پرتقال"]

for fruit in fruits
    println(fruit)
end

# با ایندکس — enumerate
for (i, fruit) in enumerate(fruits)
    println("$i. $fruit")
end

# رشته
for c in "جولیا"
    println(c)
end

# دیکشنری
person = Dict("name" => "علی", "age" => 25)
for (key, value) in person
    println("$key = $value")
end

حلقه‌های تو در تو

# شکل کوتاه جولیا!
for i in 1:3, j in 1:3
    print("$(i*j) ")
end
println()

break و continue

# break: خروج از حلقه
for i in 1:10
    if i > 5
        break
    end
    println(i)
end

# continue: رد شدن از این دور
for i in 1:10
    if i % 2 == 0
        continue   # زوج‌ها را رد کن
    end
    println(i)   # فقط فرد‌ها
end

حلقه روی چند کالکشن — zip

names = ["علی", "مریم", "رضا"]
scores = [18, 20, 16]

for (name, score) in zip(names, scores)
    println("$name: $score")
end

مثال: جمع اعداد

total = 0
for i in 1:100
    total += i
end
println("مجموع ۱ تا ۱۰۰: $total")   # 5050
البته در جولیا معمولاً sum(1:100) می‌نویسیم — حلقه‌ها در جولیا سریع‌اند اما توابع برداری تمیزترند!

کدام حلقه را انتخاب کنم؟

حلقهوقتی که...
for i in ...می‌دانید روی چه چیزی پیمایش می‌کنید
whileتا رسیدن به شرطی ادامه می‌دهید
توابع برداریmap، sum، filter — سبک جولیایی!

این مبحث بخشی از دوره آموزش کامل جولیا است.

ابزارهای مرتبط