0Pricing
Lua Academy · Ders

Durumsuz Yineleyiciler

ipairs gibi durumsuz yineleyiciler yazın ve özel çeşitlerini uygulayın.

Durumsuz Yineleyiciler, CoddyKit'te ücretsiz bir Lua Academy dersidir. Bu, 4 dersinin 2. 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.

Durumsuz Yineleyici Nedir?

Durumsuz yineleyici dahili durum taşımaz. Tüm bilgiler her çağrıda bağımsız değişken olarak aktarılır: değişmez durum ve geçerli denetim değişkeni.

ipairs: Klasik Örnek

ipairs durumsuzdur; tabloyu durum, geçerli dizini de denetim değişkeni olarak kullanır.

local function myIpairs(t, i)
  i = i + 1
  local v = t[i]
  if v ~= nil then return i, v end
end
-- Use: for i,v in myIpairs, t, 0 do

squares Yineleyicisi

Ardışık kareleri döndüren durumsuz bir yineleyicidir. Durum sınırı, denetim değişkeni ise geçerli sayıyı taşır.

local function squaresIter(max, n)
  n = n + 1
  if n <= max then return n, n*n end
end
for n, sq in squaresIter, 5, 0 do
  print(n, sq)
end

Kapanım Gerekmez

Durumsuz yineleyiciler kapanım ayırma işlemini önler. Tüm durum bağımsız değişken olarak aktarıldığından her yineleme için öbek ayırma yapılmaz.

pairs Tarzı Yineleyici Uygulama

Yineleyici işlevi olarak next kullanan durumsuz bir anahtar-değer yineleyicisi; pairs tam olarak böyle çalışır.

for k, v in next, {a=1, b=2} do
  print(k, v)
end

next İşlevi

next(t, k), k anahtarından sonraki anahtar-değer çiftini döndürür. Başlangıçtan başlamak için nil aktarın veya bağımsız değişkeni atlayın.

local t = {x=10, y=20}
local k, v = next(t, nil)
print(k, v)
k, v = next(t, k)
print(k, v)

Özel Aralık Yineleyicisi

Adım kullanan durumsuz bir aralık yineleyicisidir. Durum bir yapılandırma tablosunu, denetim ise geçerli değeri taşır.

local function rangeIter(state, n)
  n = n + state.step
  if n <= state.limit then return n end
end
for v in rangeIter, {limit=10, step=2}, 0 do
  print(v)
end

Performans Avantajı

Durumsuz yineleyiciler yoğun döngüler için idealdir. Her çağrıda kapanım oluşturulmadığından basit dolaşmalarda durum bilgili kapanım yineleyicilerinden daha hızlıdırlar.

Sınırlamalar

Yineleme karmaşık bir durum (birden çok sayaç, kuyruk veya dinamik veri) gerektirdiğinde durumsuz yineleyiciler kullanışsızlaşır. Bunun yerine durum bilgili kapanım yineleyicileri veya coroutine'leri kullanın.

table.move ile Birleştirme

Durumsuz bir dilim yineleyicisi, bir tablo dilimindeki öğeleri döndürür. Değişmez durum diziyi ve bitiş dizinini, denetim ise geçerli dizini taşır.

Standart Kitaplıktaki Durumsuz Yineleyiciler

ipairs, pairs (next aracılığıyla) ve string.gmatch, dahili olarak durumsuz veya neredeyse durumsuz tasarımlar kullanır.

Durumsuz Yineleyici Sorusu

Bir yineleyiciyi durumsuz yapan nedir?

Özet: Durumsuz Yineleyiciler

Durumsuz yineleyiciler tüm bağlamı bağımsız değişken olarak alır, kapanım ayırma işlemi gerektirmez ve yüksek performans sunar. Dizi dizinleme gibi basit ardışık dolaşmalar için idealdirler.

Sıkça Sorulan Sorular

“Durumsuz Yineleyiciler” dersi ücretsiz mi?

Evet — “Durumsuz Yineleyiciler” 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.

“Durumsuz Yineleyiciler” dersinde ne öğreneceğim?

ipairs gibi durumsuz yineleyiciler yazın ve özel çeşitlerini uygulayı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 2. dersidir.

“Durumsuz Yineleyiciler” 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. Genel for Protokolü
  2. Durumsuz Yineleyiciler
  3. Kapanışlarla Durumlu Yineleyiciler
  4. Coroutine Tabanlı Üreteçler
← Lua Academy Sayfasına Dön