Tipli Diziler
Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 13 / 73.
Türü belirtilmiş diziler, tür güvenliğini korurken birden fazla değeri düzenlemek için Luau'nun en kullanışlı özelliklerinden biridir.
Lua'da dizi, 1, 2, 3, … konumlarında değerler bulunan bir tablodan ibarettir ve aynı anda bir sayıyı, bir dizeyi ve bir boolean'ı sorunsuzca tutabilir. Luau, {Type} söz dizimini kullanarak bir tablonun yalnızca tek bir türdeki öğeleri içermesi gerektiğini bildirmenize olanak tanır:
local numbers: {number} = {1, 2, 3, 4, 5}
local names: {string} = {"Alice", "Bob", "Charlie"}
local flags: {boolean} = {true, false, true}Türü belirtilmiş bir dizi tanımladığınızda Luau'nun tür denetleyicisi, yalnızca bildirilen türdeki değerlerin eklenmesini zorunlu kılar. Bir {number} dizisine bir dize eklediğinizde, kod henüz çalışmadan, düzenleme sırasında bir tür hatası alırsınız:
local scores: {number} = {85, 90, 78}
table.insert(scores, "oops") -- ✗ tip hatası: string bir number değilLua tabloları hakkında zaten bildiğiniz her şey hâlâ geçerlidir: diziler 1 tabanlıdır (scores[1] ilk öğedir), #scores uzunluğu verir ve table.insert / table.remove her zamanki gibi çalışır. Açıklama yeni çalışma zamanı davranışı değil, güvenlik ekler.
Görev
Kolay85, 92 ve 78 ile başlatılan ve yalnızca sayıları tutabilen scores adlı tür belirtilmiş bir dizi oluşturun.
Yalnızca dizeleri tutabilen ve "Alice", "Bob" ve "Charlie" ile başlatılan studentNames adlı ikinci bir tür belirtilmiş dizi oluşturun.
Ardından her birini kendi satırında yazdırın:
- ilk puan
- kaç puan olduğu (
#kullanın) - ikinci öğrenci adı
Kendin dene
-- Kodu buraya yaz
-- 1) scores: {number} ve studentNames: {string} tanımla
-- 2) ilk skoru, scores sayısını ve ikinci ismi yazdır
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
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ışmak
Parametreleri ve Geri Dönüş Değerlerini TiplendirmeAnonim Fonksiyonları TiplendirmeHiçbir Şey Döndürmeyen Fonksiyonlarİsteğe Bağlı ParametrelerVarsayılan Parametre DeğerleriDeğişken Sayıda Parametre Alan Fonksiyonlar (Variadic)Fonksiyon Tiplerini TanımlamaÖzet: Tiplendirilmiş Fonksiyonlar2Temel Tipler
Temel Tipler: num, str, bool'any' Tipi: Kaçış Yolu'unknown' TipiNil ve İsteğe Bağlı (Optional) TiplerUygulamada Tip ÇıkarımıAçık Tip BelirteçleriÖzet: Temel Tipler Pratiği5Diğ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ı3Tipli Tablolar: Diziler ve Map'ler
Tipli DizilerEleman Ekleme ve OkumaMap Tipi Nedir?Map Bildirimi ve Map'lere ErişimTablolar Üzerinde YinelemeKarma Biçimli TablolarÇok Boyutlu Tipli Dizilertable.unpack ve VarargsÖzet: Diziler ve Map'lerKendi başına pratik yap: Online Lua derleyicisi