Satır İçi Biçim Açıklamaları
Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası — ders 37 / 73.
Lua'da uzun süredir tabloları kayıtlar olarak kullanıyorsunuz: local user = {name = "Ana", age = 20}. Bir alan adını yanlış yazmanızı, bir alanı unutmanızı veya bir number bulunması gereken yere bir string kaydetmenizi engelleyen hiçbir şey yoktur — bunu yalnızca kod çalıştığında anlarsınız.
Luau, süslü parantezler arasında her alanı ve onun type bilgisini listeleyerek böyle bir table yapısının shape tanımını doğrudan bildirimin içinde yapmanıza olanak tanır:
local user: {name: string, age: number} = {
name = "Ana",
age = 20,
}Bunu zaten bildiğiniz table türleriyle karşılaştırın: {number} bir diziyi tanımlar ve {[string]: number} herhangi bir string anahtarına sahip bir haritayı tanımlar. Bir shape daha hassastır — her alanı ayrı ayrı adlandırır ve her alana kendi type türünü verir.
shape bir kez tanımlandıktan sonra, siz düzenleme yaparken tür denetleyicisi table yapısını buna göre doğrular. Eksik bir alan veya yanlış bir değer türü, kod daha çalışmadan önce işaretlenir:
local user: {name: string, age: number} = {
name = "Ana",
age = "twenty", -- ✗ tip hatası: string bir number değil
}Her zaman olduğu gibi, annotation çalışma zamanı davranışı eklemez — table düz bir Lua table yapısıdır. inline shape tanımları, tekrar kullanmayı planlamadığınız tek seferlik yapılar için mükemmeldir; bir sonraki derste shape yapılarına bir isim vereceksiniz.
Görev
KolayAşağıdaki tür tanımlamalarına sahip bir inline shape annotation içeren student adında bir değişken oluşturun:
stringtüründenamenumbertüründestudentIdbooleantüründeisEnrolled
Bu değişkeni "Sarah Johnson" name değeri, 12345 studentId değeri ve true isEnrolled değeri ile başlatın.
Aşağıdaki tür tanımlamalarına sahip bir inline shape annotation içeren course adında ikinci bir değişken oluşturun:
stringtüründetitlenumbertüründecreditsstringtüründeinstructor
Bu değişkeni "Introduction to Luau" title değeri, 3 credits değeri ve "Dr. Smith" instructor değeri ile başlatın.
Her biri ayrı bir satırda olacak şekilde şunları print edin:
- öğrencinin adı
- öğrencinin ID'si
- kurs adı
- kredi sayısı
Kendin dene
-- Buraya kod yazın
-- 1) student'ı satır içi shape annotation ile bildir
-- 2) course'u satır içi shape annotation ile bildir
-- 3) istenen dört alanı 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'ler6Tablo Biçimlerini Tiplendirme
Satır İçi Biçim AçıklamalarıBiçimler İçin Tip Takma Adlarıİsteğe Bağlı ÖzelliklerBiçimler ve Serbest TablolarBiçimleri GenişletmeBiçimlere Metot EklemeSelf ve İki Nokta MetotlarıÖzet: Tablo Biçimlerini Tanımlama