Lua Academy · Ders

Tablo Olarak Diziler

Lua'da 1 tabanlı dizinlemeyi öğrenin.

1. ders / 413 adım

Tablo Olarak Diziler, CoddyKit'te ücretsiz bir Lua Academy dersidir. Bu, 4 dersinin 1. 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.

Tablolar Lua'nın Listeleridir

Lua'da tek bir kapsayıcı türü vardır: table. Değerleri sırayla depoladığınızda tablo, bir dizi veya liste gibi davranır.

{} ile boş bir tablo oluşturup daha sonra doldurabilir ya da değerleri doğrudan süslü parantezlerin içine yazabilirsiniz.

local fruits = {"apple", "banana", "cherry"}
print(fruits)

İndeksleme 1'den Başlar

En önemli kural şudur: Lua dizileri 1 tabanlıdır. İlk öğe 0 değil, 1 indeksinde bulunur.

Bir öğeyi konumuna göre okumak için köşeli parantezleri kullanın.

local fruits = {"apple", "banana", "cherry"}
print(fruits[1])
print(fruits[2])
print(fruits[3])

İndeks 0 Boştur

Sayma 1'den başladığı için 0 konumunda normalde hiçbir şey bulunmaz.

Hiç ayarlanmamış bir indeksi okumak nil döndürür. Başka dillerden gelen yeni başlayanlar bu konuda sıkça hata yapar.

local colors = {"red", "green", "blue"}
print(colors[0])
print(colors[1])

Bir Öğe Yazma

Bir değeri ayarlamak veya değiştirmek için köşeli parantez söz dizimiyle bir konuma atama yapın.

Burada ikinci yuvadaki değerin üzerine yazıyoruz. Bir sonraki sefer o indeksi okuduğumuzda değişikliği görebiliriz.

local scores = {10, 20, 30}
scores[2] = 99
print(scores[2])

Adım Adım Tablo Oluşturma

Boş bir tabloyla başlayıp ardışık indekslere öğeler ekleyebilirsiniz. Düzenli bir dizi oluşturmak için 1'den başlamayı unutmayın.

Bir dizide boşluk bulunmaz: 1, 2 ve 3 indekslerinin tümü doludur.

local nums = {}
nums[1] = 5
nums[2] = 10
nums[3] = 15
print(nums[1], nums[2], nums[3])

Karışık Değer Türleri

Bir Lua tablosu aynı dizide farklı türlerde değerler barındırabilir: sayılar, dizeler ve mantıksal değerler.

Lua, bazı dillerin yaptığı gibi her öğenin aynı türü paylaşmasını zorunlu kılmaz.

local mixed = {42, "hello", true}
print(mixed[1])
print(mixed[2])
print(mixed[3])

Tüm Öğeleri Yazdırma

Tüm öğeleri göstermek için sayısal bir for döngüsüyle 1 indeksinden başlayıp yukarı doğru ilerleyin.

Daha sonraki bir derste daha temiz bir yöntem olan (ipairs) ile tanışacağız; ancak bu döngü, 1 tabanlı aralığı açıkça gösterir.

local pets = {"cat", "dog", "fish"}
for i = 1, 3 do
  print(i, pets[i])
end

İç İçe Tablolar

Bir tablonun öğesi yine bir tablo olabilir. Bu, satırlar, ızgaralar veya gruplanmış veriler oluşturmanızı sağlar.

İç kısımlara ulaşmak için köşeli parantezleri art arda kullanın: grid[1][2], 1. satırın 2. sütununu okur (her ikisi de 1 tabanlıdır).

local grid = {
  {1, 2, 3},
  {4, 5, 6}
}
print(grid[1][2])
print(grid[2][3])

Konuma Göre İlk ve Son Öğe

İlk öğe her zaman list[1] konumundadır. Boyutu bilinen bir dizi için son öğe, öğe sayısının bulunduğu konumdadır.

Burada üç öğe olduğundan son öğe 3 indeksindedir.

local week = {"Mon", "Tue", "Wed"}
print("first:", week[1])
print("last:", week[3])

Değerleri Yerinde Değiştirme

Tablolar değiştirilebilirdir. Tüm listeyi yeniden oluşturmadan mevcut herhangi bir yuvadaki değeri güncelleyebilirsiniz.

Aşağıda, bir döngüde her indekse yeniden atama yaparak her puanı artırıyoruz.

local scores = {1, 2, 3}
for i = 1, 3 do
  scores[i] = scores[i] + 10
end
print(scores[1], scores[2], scores[3])

Kayıtlar ve Diziler Olarak Tablolar

Aynı tablo türü person.name gibi adlandırılmış anahtarları da depolar. Anahtarlar 1, 2, 3... tam sayıları olduğunda buna dizi veya sıralı dizi deriz.

Bu ders, 1 tabanlı sayısal anahtarlarla kullanılan sıralı dizi biçimine odaklanır.

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

Hızlı Kontrol

Lua indekslemesini anlayıp anlamadığınızı sınayın.

Özet

Lua'nın tabloları dizi olarak kullandığını ve indekslemenin 1 tabanlı olduğunu öğrendiniz: ilk öğe [1] konumundadır.

Tablo öğelerini okuyabilir, yazabilir ve iç içe yerleştirebilirsiniz; düzenli bir dizide boşluk bulunmaz. Sırada, öğeleri dinamik olarak ekleyip kaldıracaksınız.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Lua öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
40
Dersler
159

Sıkça Sorulan Sorular

“Tablo Olarak Diziler” dersi ücretsiz mi?

Evet — “Tablo Olarak Diziler” 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.

“Tablo Olarak Diziler” dersinde ne öğreneceğim?

Lua'da 1 tabanlı dizinlemeyi öğrenin. 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 1. dersidir.

“Tablo Olarak Diziler” 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