0Pricing
Lua Academy · Ders

Öğe Ekleme ve Kaldırma

table.insert ve remove kullanın.

Öğe Ekleme ve Kaldırma, 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.

Bir Diziyi Büyütme

Gerçek listelerin boyutu program çalışırken değişir. Lua, öğeleri listenin sonuna eklemek için table.insert işlevini sağlar.

Diziler 1 tabanlı olduğundan, iki öğeden sonra yapılan ekleme 3 indeksine yerleşir.

local list = {"a", "b"}
table.insert(list, "c")
print(list[1], list[2], list[3])

table.insert Sona Ekler

İki argümanla çağrıldığında table.insert(t, value), value değerini mevcut son indeksin hemen sonraki konumuna yerleştirir.

Her çağrı, indeksleri kesintisiz tutarak diziyi bir öğe büyütür.

local q = {}
table.insert(q, "first")
table.insert(q, "second")
print(q[1], q[2])

Bir Konuma Ekleme

Üç argümanla table.insert(t, pos, value), value değerini pos indeksine ekler ve sonraki öğeleri birer konum ileri kaydırır.

Burada "X" değerini 2. konuma yerleştiriyoruz; bu nedenle eski ikinci öğe 3. konuma kayar.

local list = {"a", "b", "c"}
table.insert(list, 2, "X")
print(list[1], list[2], list[3], list[4])

Başa Ekleme

Başa eklemek için 1. konuma ekleme yapın. Mevcut her öğe bir indeks yukarı kayar.

Bu yöntem kullanışlıdır ancak büyük listelerde daha yavaştır; çünkü Lua'nın tüm öğeleri taşıması gerekir.

local list = {"b", "c"}
table.insert(list, 1, "a")
print(list[1], list[2], list[3])

Son Öğeyi Kaldırma

Tek argümanla kullanılan table.remove(t), son öğeyi siler ve döndürür.

Dizi bir öğe küçülür ve boşluksuz kalır.

local list = {"a", "b", "c"}
local gone = table.remove(list)
print("removed:", gone)
print(list[1], list[2], list[3])

Bir Konumdaki Öğeyi Kaldırma

table.remove(t, pos), pos konumundaki öğeyi siler ve boşluğu kapatmak için sonraki öğeleri birer konum aşağı kaydırır.

Konumların 1 tabanlı olduğunu unutmayın; bu nedenle pos = 1 ilk öğeyi kaldırır.

local list = {"a", "b", "c"}
local gone = table.remove(list, 1)
print("removed:", gone)
print(list[1], list[2])

Kaldırma İşlemi Değeri Döndürür

table.remove işlevinin her iki biçimi de çıkardıkları değeri döndürür; böylece bu değeri hemen kullanabilirsiniz.

Bu, tablonun bir yığın gibi davranmasını sağlar: table.insert ile ekleyin, table.remove ile çıkarın.

local stack = {}
table.insert(stack, 10)
table.insert(stack, 20)
local top = table.remove(stack)
print("popped:", top)

Basit Bir Kuyruk

Kuyruk modellemek için sona ekleyip önden (pos = 1) kaldırın: ilk giren, ilk çıkar.

Her kaldırma işlemi geri kalan öğeleri aşağı kaydırır; böylece sıradaki öğe 1. indeksi bekler.

local queue = {}
table.insert(queue, "Ann")
table.insert(queue, "Bob")
print("serving:", table.remove(queue, 1))
print("next:", queue[1])

Elle Boşluk Oluşturmaktan Kaçının

list[2] = nil ile bir öğeyi nil olarak ayarlamak ortada bir boşluk bırakabilir ve diziyi bozabilir.

Öğeleri kaydırarak indeksleri kesintisiz tutan table.remove işlevini tercih edin.

local list = {"a", "b", "c"}
table.remove(list, 2)
print(list[1], list[2])

Girdiden Oluşturma

Yaygın bir yöntem şudur: boş bir tabloyla başlayıp veriler geldikçe sona ekleme yapmak.

Burada, insert kullanarak çift sayıları yeni bir sıralı dizide topluyoruz.

local evens = {}
for n = 1, 6 do
  if n % 2 == 0 then
    table.insert(evens, n)
  end
end
print(evens[1], evens[2], evens[3])

Ekleme ve Kaldırmayı Birlikte Kullanma

İşlemleri istediğiniz gibi birleştirebilirsiniz. Aşağıda üç ad ekleyip ardından ortadakini kaldırıyoruz.

Kaldırma işleminden sonra listede kesintisiz iki öğe kalır.

local names = {}
table.insert(names, "Al")
table.insert(names, "Bea")
table.insert(names, "Cy")
table.remove(names, 2)
print(names[1], names[2])

Hızlı Kontrol

Kaldırma işleminin diziyi nasıl kaydırdığını düşünün.

Özet

Listeleri table.insert ile büyütmeyi (sona veya 1 tabanlı bir konuma eklemeyi) ve kaldırılan değeri döndürüp boşlukları kapatan table.remove ile küçültmeyi öğrendiniz.

Elle nil boşlukları oluşturmaktan kaçının. Sırada, ipairs ile düzgün biçimde yineleme yapacaksınız.

Sıkça Sorulan Sorular

“Öğe Ekleme ve Kaldırma” dersi ücretsiz mi?

Evet — “Öğe Ekleme ve Kaldırma” 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.

“Öğe Ekleme ve Kaldırma” dersinde ne öğreneceğim?

table.insert ve remove kullanı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.

“Öğe Ekleme ve Kaldırma” 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. Tablo Olarak Diziler
  2. Öğe Ekleme ve Kaldırma
  3. ipairs ile Yineleme
  4. Uzunluk ve Sıralama
← Lua Academy Sayfasına Dön