Menu
Coddy logo textTech

Birinci Sınıf Değer Olarak Fonksiyonlar

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

Lua'da fonksiyonlar, görevleri gerçekleştiren basit kod bloklarından daha fazlasıdır. Bunlar, diğer tüm veri türleri gibi ele alınabilen değerlerdir. Bu, fonksiyonlarla sayılar, dizeler veya tablolarla çalıştığınız şekilde çalışabileceğiniz anlamına gelir.

Bir işlevi bir değişkende saklayabilirsin:

local greet = function()
    print("Hello!")
end

greet()  -- Çıktı: Hello!

Burada, işlev greet değişkenine atanır ve onu tıpkı normal bir işlev gibi çağırabilirsiniz. Bu, kodunuzu yapılandırma biçiminiz için güçlü olanaklar sunar.

Fonksiyonlar, diğer fonksiyonlara bağımsız değişken olarak da geçirilebilir. Bu, özellikle bir fonksiyonun başka bir fonksiyonda tanımlanan davranışı kullanmasını istediğinizde yararlıdır:

function executeAction(action)
    action()
end

local sayHello = function()
    print("Hello from a function!")
end

executeAction(sayHello)  -- Çıktı: Hello from a function!

Bu örnekte executeAction, parametre olarak bir fonksiyon alır ve onu çağırır. sayHello fonksiyonu, tıpkı bir sayı veya dize aktaracağınız gibi aktarılır.

Fonksiyonlar başka fonksiyonlar da döndürebilir. Bu, belirli koşullara veya parametrelere göre dinamik olarak fonksiyonlar oluşturmanıza olanak tanır:

function createMultiplier(factor)
    return function(number)
        return number * factor
    end
end

local double = createMultiplier(2)
print(double(5))  -- Çıktı: 10
challenge icon

Görev

Kolay

a, b ve operation alan ve işlem fonksiyonunu iki sayıya uygulamanın sonucunu döndüren bir applyOperation fonksiyonu yazın.

operation parametresi, a ve b bağımsız değişkenleriyle çağrılacak bir fonksiyon içeren bir tablodur.

Mantık:

  • operation tablosundan "func" anahtarını kullanarak fonksiyonu çıkarın
  • Bu fonksiyonu a ve b bağımsız değişkenleriyle çağırın
  • Sonucu döndürün

Parametreler:

  • a (number): İlk sayı
  • b (number): İkinci sayı
  • operation (table): "func" anahtarında depolanan bir fonksiyon içeren tablo

Döndürür: İşlem fonksiyonunun a ve b ile çağrılmasının sonucu (number)

Kendin dene

function applyOperation(a, b, operation)
    -- Kodu buraya yaz
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