Menu
Coddy logo textTech

Tablo Oluşturma ve unpack()

Coddy'nin Lua Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 6 / 54.

Lua, birden çok değerle çalışmak için birbirini tamamlayan iki teknik sunar: tablo oluşturma ve unpack(). Bunlar, esnek bağımsız değişken işleme gerektiren işlevlerle çalışırken özellikle kullanışlıdır.Birden çok değeri, süslü parantezlerle kullanılan tablo oluşturucu söz dizimi aracılığıyla liste tarzı bir tabloya aktarabilirsiniz. Bu, tüm değerleri tek bir tablo yapısında toplar.
local args = {10, 20, 30}
print(args[1])  -- Çıktı: 10
print(#args)    -- Çıktı: 3
unpack() işlevi bunun tersini yapar. Liste tarzı bir tablo alır ve tüm öğelerini ayrı değerler olarak döndürür. Bu, tablo içeriğini bir işleve ayrı bağımsız değişkenler olarak geçirmenizi sağlar.Önemli: Lua'nın daha yeni sürümleri (5.2+) bu işlevi table.unpack() konumuna taşısa da bu ortam Lua 5.1 çalıştırdığından global unpack() işlevini kullanmalısın.
local numbers = {5, 10, 15}
print(unpack(numbers))  -- Çıktı: 5    10    15
Bu teknikler sorunsuz bir şekilde birlikte çalışır. Değerleri bir tabloda toplayabilir, tabloyu işleyebilir ve ardından tabloyu tekrar ayrı değerlere açabilirsiniz.
challenge icon

Görev

Kolay

forwardArguments adında, a, b ve c olmak üzere three numbers alan ve table construction ile unpack() kullanarak bunların sum değerini döndüren bir function yazın.

{a, b, c} söz dizimini kullanarak three arguments containing bir table Create edin; ardından bunları unpack edin ve sum değerlerini calculates eden başka bir function'a pass edin.

Not: Bu ortamla uyumluluğu sağlamak için table.unpack() yerine global unpack() function kullanın.

Logic:

  • all three arguments containing bir table Create etmek için {a, b, c} kullanın
  • three parameters alan ve bunların sum değerini return eden sum adlı ayrı bir function Create edin
  • table values değerlerini sum function'a pass etmek için unpack() kullanın
  • Sonucu sum function'dan return edin

Parameters:

  • a (number): First number
  • b (number): Second number
  • c (number): Third number

Returns: all three numbers değerlerinin sum değeri (number)

Kendin dene

function forwardArguments(a, b, c)
    -- Toplamı hesaplayan ayrı bir fonksiyon oluştur

    -- Üç argümanın hepsini içeren bir tablo oluştur

    -- Tabloyu aç ve değerleri toplam fonksiyonuna geçir
    -- İpucu: Tablo argümanlarını genişletmek için global 'unpack' fonksiyonunu kullan

end
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Lua derleyicisi