Anonim Fonksiyonları Tür Belirtme
Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 24 / 80.
Lua'da işlevler birer değerdir: onları değişkenlerde saklar ve bir yerden başka bir yere aktarırsın: local f = function(x) return x * 2 end. Bu anonim işlevler (işlev ifadeleri), tıpkı adlandırılmış işlevlerde olduğu gibi tür açıklamaları alır:
local double = function(x: number): number
return x * 2
end
local shout = function(text: string): string
return string.upper(text) .. "!"
endParametreler parantezlerin içine name: type biçiminde yazılır ve dönüş türü kapanış parantezinden sonra gelir: adlandırılmış bir işlevden tek farkı, function anahtar sözcüğünün bir adının olmaması ve ifadenin tamamının bir değişkene atanmasıdır.
JavaScript veya TypeScript gördüysen, Luau'da ok işlevleri olmadığını unutma. => söz dizimi yoktur. Her işlev ifadesi, uzun ya da kısa olsun, function ... end biçiminde yazılır.
Bir değişkene atandıktan sonra, her işlev gibi onu da değişken üzerinden çağırırsın: double(21), 42 değerini döndürür ve denetleyici, her çağrıyı yazdığın tür açıklamalarına göre doğrular.
Görev
KolayTürü belirtilmiş işlevleri yerel değişkenlerde sakla.
subtractişlevinilocal subtract = function(a: number, b: number): numberolarak yeniden yaz ve gövdesini koru.num > 0değerini döndürenlocal isPositive = function(num: number): booleanişlevini ekle.subtract(10, 3)veisPositive(-5)değerlerini yazdır.
Kodu Çalıştır düğmesine bas: çıktı olarak 7 ve false görünür.
Kendin dene
-- Bunu yerel bir değişkende saklanan anonim bir fonksiyon olarak yeniden yazın
function subtract(a: number, b: number): number
return a - b
end
Luau'ya Giriş bölümündeki tüm dersler
1Luau ile Başlarken
Luau Nedir?Neden Luau Kullanılmalı?İlk Luau KodunuzTip Denetimi ve Hata ModlarıÖzet: Luau'ya Giriş4Fonksiyonlarla Çalışma
Parametreleri ve Dönüş Değerlerini Tür BelirtmeAnonim Fonksiyonları Tür BelirtmeDeğer Döndürmeyen Fonksiyonlarİsteğe Bağlı ParametrelerVarsayılan Parametre DeğerleriBoolean Değerler için VarsayılanlarDeğişken Sayıda Parametre Alan FonksiyonlarFonksiyon Türlerini TanımlamaTekrar: Tür Belirtilmiş Fonksiyonlar2Temel Türler
Number, String ve Boolean'any' Türü: Kaçış Yolu'unknown' TürüNil ve İsteğe Bağlı TürlerTür Çıkarımı UygulamadaAçık Tür Ek AçıklamalarıTekrar: Temel Türler Alıştırması5Diğer Adlar (Aliases), Birleşimler, Kesişimler
İlkel Tipler için Tip Diğer Adları (Type Aliases)Birleşim Tipleri (Union Types)Birleşim Tipleri ile ÇalışmakLiteral (Sabit) TiplerKesişim Tipleri (Intersection Types)Tip Diğer Adlarını BirleştirmeÖzet: Gelişmiş Tip Kombinasyonları3Türlenmiş Tablolar: Diziler ve Map’ler
Türlenmiş DizilerÖğe Ekleme ve OkumaMap Türü Nedir?Map’leri Tanımlama ve ErişmeTablolar Üzerinde YinelemeKarma Şekilli TablolarBir Izgarayı OkumaBir Izgara Oluşturmatable.unpackÖzet: Diziler ve Map’lerKendi başına pratik yap: Online Luau derleyicisi