0Pricing
Lua Academy · Ders

Sayısal for Döngüsü

for i=start,limit,step söz dizimiyle sayısal aralıklar üzerinde yineleme yapın.

Sayısal for Döngüsü, CoddyKit'te ücretsiz bir Lua Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Lua Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Lua Academy kursu toplamda 4 dersten oluşur.

Sayısal for Söz Dizimi

Lua'nın sayısal for döngüsü for var = start, limit, step do biçimindedir. step belirtilmezse varsayılan değeri 1 olur. Döngü değişkeni döngü gövdesiyle sınırlı yereldir ve gövde içinde değiştirilemez. Sınır ve adım, döngü başlamadan önce bir kez değerlendirilir.

-- Count 1 to 5
for i = 1, 5 do
  io.write(i .. " ")
end
print()   -- 1 2 3 4 5

-- Count with step 2
for i = 1, 10, 2 do
  io.write(i .. " ")
end
print()   -- 1 3 5 7 9

Negatif Adımla Geri Sayım

Geriye doğru saymak için negatif bir adım kullanın. step negatif olduğunda döngü, var >= limit olduğu sürece devam eder. Negatif adım kullanılırken başlangıç değeri zaten sınırdan küçükse döngü gövdesi hiç çalışmaz.

for i = 10, 1, -1 do
  io.write(i .. " ")
end
print()
-- 10 9 8 7 6 5 4 3 2 1

-- Step -2
for i = 10, 0, -2 do
  io.write(i .. " ")
end
print()
-- 10 8 6 4 2 0

Döngü Değişkeni Yereldir

Döngü denetim değişkeni (i) otomatik olarak yereldir. Değerini döngü içinde değiştiremezsiniz; Lua, döngü değişkenine yapılan atamaları yok sayar. Yinelemeleri farklı biçimde izlemek için ayrı bir yerel değişken kullanın.

for i = 1, 5 do
  -- i is read-only inside the loop
  -- i = i + 10  -- this creates a new global i, not the loop var
  print(i)  -- always 1, 2, 3, 4, 5 as expected
end
-- i is nil here (it was local to the loop)
print(i)  -- nil (or whatever global i was)

Diziler Üzerinde Yineleme

Sayısal for döngüsünün en yaygın kullanımı, diziler üzerinde dizinle yineleme yapmaktır. Sınır olarak #arr kullanın. ipairs'tan farklı olarak bu biçim, adım boyutunu denetlemenize ve geriye doğru yineleme yapmanıza olanak tanır; ayrıca yoğun dizilerde biraz daha hızlıdır.

local fruits = {"apple", "banana", "cherry", "date"}

for i = 1, #fruits do
  print(i, fruits[i])
end
-- 1  apple
-- 2  banana
-- 3  cherry
-- 4  date

for ile Toplama

Sayısal for döngüleri diziler üzerinde değer biriktirmek için idealdir. Düzen her zaman aynıdır: sonuç değişkenini döngüden önce başlatın, içinde güncelleyin ve sonra kullanın.

local values = {10, 20, 30, 40, 50}
local total = 0

for i = 1, #values do
  total = total + values[i]
end

print("Total:", total)    -- 150
print("Count:", #values)  -- 5
print("Mean:", total / #values)  -- 30

İç İçe Sayısal for

Matris dolaşma, tablo tabloları veya koordinat çiftleri oluşturma gibi iki boyutlu işlemler için iki sayısal for döngüsünü iç içe yerleştirin. Dış döngü satırları, iç döngü sütunları dolaşır; her yinelemede bir hücreye erişilir.

local rows, cols = 3, 4

for r = 1, rows do
  for c = 1, cols do
    io.write(string.format("%2d ", r * c))
  end
  print()
end
--  1  2  3  4
--  2  4  6  8
--  3  6  9 12

Ondalıklı Adımlar

Adım ve sınır değerleri kayan noktalı sayılar olabilir; ancak bu durum duyarlılık hatalarına yol açabilir. Kesin yineleme sayıları için tam sayıları tercih edin. Kayan noktalı sayılar kullanmanız gerekiyorsa döngü sayısının floor((limit - start) / step) + 1 olarak hesaplandığını unutmayın.

-- Float step
for x = 0.0, 1.0, 0.25 do
  io.write(x .. " ")
end
print()
-- 0.0  0.25  0.5  0.75  1.0

-- Prefer integer math when possible
for i = 0, 4 do
  local x = i * 0.25
  io.write(x .. " ")
end

Sonuç Tablosu Oluşturma

Sayısal for döngüsü, mevcut verilerden yeni bir tablo oluşturmanın standart yoludur. Boş bir tablo oluşturun, ardından tabloyu dizinleriyle doldurmak için döngüyü kullanın.

local source = {1, 2, 3, 4, 5}
local squares = {}

for i = 1, #source do
  squares[i] = source[i] ^ 2
end

for i = 1, #squares do
  print(squares[i])   -- 1, 4, 9, 16, 25
end

Sayısal for içinde break

Sayısal for döngüsünden break ile erken çıkabilirsiniz. Yürütme, end ifadesinden sonraki ifadeye atlar. Bu, doğrusal aramada kullanışlıdır: hedef bulunana kadar yineleyin, ardından çıkın.

local data = {5, 3, 8, 1, 9, 2, 7}
local target = 9
local foundAt = nil

for i = 1, #data do
  if data[i] == target then
    foundAt = i
    break
  end
end

if foundAt then
  print("Found at index " .. foundAt)  -- 5
else
  print("Not found")
end

Döngü Sayısının Hesaplanması

for i = start, limit, step döngüsündeki yineleme sayısı max(0, floor((limit - start) / step) + 1) olur. Bunu anlamak, bir eksik veya fazla yineleme hatalarını önler. Adım 1 olduğunda sayı basitçe limit - start + 1 olur.

-- How many iterations?
local count = 0
for i = 1, 10, 3 do
  count = count + 1
end
print(count)   -- 4  (i = 1, 4, 7, 10)

count = 0
for i = 5, 1 do   -- step=1 but start > limit
  count = count + 1
end
print(count)   -- 0 (no iterations)

Hızlı Kontrol

for i = 10, 1, -3 do hangi değerler üzerinde yineleme yapar?

Özet: Sayısal for

Özet:

  • for i = start, limit, step do — adım varsayılan olarak 1'dir
  • Geri sayım için negatif adım kullanılır
  • Döngü değişkeni otomatik olarak yereldir ve yalnızca okunabilir
  • Sınır ve adım, döngü başlamadan önce bir kez değerlendirilir
  • break erken çıkış sağlar
  • Standart düzen: sonuç tabloları oluşturmak, dizilerde arama yapmak ve toplam biriktirmek

Sıkça Sorulan Sorular

“Sayısal for Döngüsü” dersi ücretsiz mi?

Evet — “Sayısal for Döngüsü” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Lua Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Lua Academy kursu toplamda 4 dersten oluşur.

“Sayısal for Döngüsü” dersinde ne öğreneceğim?

for i=start,limit,step söz dizimiyle sayısal aralıklar üzerinde yineleme yapın. Lua Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Lua Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Lua Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Sayısal for Döngüsü” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Lua Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Lua Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. if, elseif ve else İfadeleri
  2. while ve repeat-until Döngüleri
  3. Sayısal for Döngüsü
  4. Genel for ve break
← Lua Academy Sayfasına Dön