Çift Ekleme ve Düzenleme
Coddy'nin Lua Journey'sinin Temeller bölümünün bir parçası. Ders 68 / 90.
Yeni bir anahtar-değer çifti eklemek veya mevcut bir çifti değiştirmek için atama operatörünü nokta gösterimi ya da köşeli parantez gösterimiyle kullanman yeterlidir:
local player = {
["name"] = "Alex",
["level"] = 5
}
-- Yeni bir anahtar-değer çifti ekle
player.gold = 100
-- Mevcut bir değeri değiştir
player.level = 6Bu yaklaşımın güzel yanı, Lua'nın ekleme ve değiştirme arasında ayrım yapmamasıdır. Tabloda "gold" anahtarı yoksa 100 değeriyle oluşturulur. "level" anahtarı zaten varsa değeri 6 olarak güncellenir.
Bu işlemler için nokta gösterimini veya köşeli parantez gösterimini kullanabilirsin:
-- Bunların ikisi de aynı şekilde çalışır
player.class = "Warrior"
player["weapon"] = "Sword"Görev
KolayHem yeni özellikler eklemeyi hem de mevcut özellikleri değiştirmeyi gösteren bir karakter gelişim sistemi oluştur. Önce, aşağıdaki başlangıç anahtar-değer çiftlerine sahip hero adlı bir tablo oluştur: ["name"] anahtarına "Warrior" dizgesi, ["level"] anahtarına 5 sayısı ve ["health"] anahtarına 120 sayısı atanmalıdır.
Başlangıç karakter tablosunu oluşturduktan sonra aşağıdaki değişiklikleri yap: Önce, nokta gösterimini kullanarak ["class"] anahtarına "Paladin" değerini atayarak yeni bir anahtar-değer çifti ekle. Ardından, köşeli parantez gösterimini kullanarak mevcut level değerini 7 olarak değiştir. Son olarak, köşeli parantez gösterimini kullanarak ["mana"] anahtarına 80 değerini atayarak yeni bir anahtar-değer çifti daha ekle.
Kodunun altındaki satırlar kahramanın sınıfını ve seviyesini yazdırır; böylece yaptığın değişiklikleri kontrol edebilirsin.
Kendin dene
-- İlk hero tablosunu oluştur
local hero = {
-- TODO: İlk anahtar-değer çiftlerini buraya ekle
}
-- TODO: Nokta ve köşeli parantez gösterimlerini kullanarak yeni özellikler ekle ve mevcut olanları değiştir
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler 2 İlişkisel ve Mantıksal
Eşitlik Operatörleriİlişkisel Operatörler'and' Operatörü'or' Operatörü'not' OperatörüKısa Devre DeğerlendirmesiTruthy ve Falsy DeğerlerÖzet - Basit Mantık10Tablolar Bölüm 1: Liste Stili
Tablo Nedir?Tablo Oluşturmaİndeks ile Elemanlara Erişmeİndeks ile Elemanları DeğiştirmeUzunluk Operatörü '#'table.insert()table.remove()Özet - Parti Üyelerini Yönetme13Proje: Basit İksir Dükkanı
Proje Kurulumuİksir Ekleme2Değişkenler ve Veri Tipleri
Değişken Nedir?SayılarStringlerBooleanlar'nil' Değeritype() Fonksiyonuİsimlendirme KurallarıÖzet - Karakter Profili5Temel Çıktı
Sabitleri YazdırmaDeğişkenleri YazdırmaBirden Fazla Değer YazdırmaMetinleri ve Değişkenleri Birleştirmetostring() FonksiyonuGirdiTip DönüşümüÖzet - Durum RaporuÖzet - 120'ye Kadar8String Manipülasyonu Temelleri
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Özet - Kullanıcı Adı Biçimlendirme11Tablolar 2: Sözlük Yapısı
Anahtar-Değer ÇiftleriSözlük Yapısında Tablolar OluşturmaErişim - Köşeli Parantez NotasyonuNokta Notasyonu ile ErişimÇift Ekleme ve Düzenlemenil ile Çiftleri KaldırmaÖzet - Öğe Özellikleri3Operatörler 1 Aritmetik ve Birleştirme
Aritmetik OperatörlerMod Alma OperatörüÜs Alma OperatörüString BirleştirmeOperatör ÖnceliğiÖzet - Basit Hesaplamalar6Proje: Karakter İstatistiklerini Görüntüleme
Hoş Geldiniz MesajıKarakter İstatistiklerini Tanımlama9Fonksiyon Temelleri
Fonksiyon TanımlamaFonksiyon ÇağırmaParametreli FonksiyonlarÇoklu Parametreli Fonksiyonlar'return' İfadesiÖzet - Alan HesaplayıcıKendi başına pratik yap: Online Lua derleyicisi