Bizi tercih ettiğiniz için teşekkür ederiz. Ekip üyelerimiz en kısa sürede sizlerle iletişime geçecektir.
Rezervasyonunuzu gönderdiğiniz için teşekkür ederiz! Ekibimizden bir yetkili kısa süre içinde sizinle iletişime geçecektir.
Eğitim İçeriği
Introduction to Lua
- Biraz tarihçe
- Lua'ün hedefleri, özellikleri ve kapsam dışı kalanlar
- Lua dokümantasyonu ve eğitim kaynakları
- Lua yorumlayıcısının kurulumu
- LuaRocks'un kurulumu ve kullanımı
Temel sözdizimi ve anlambilimi
- Tanımlayıcılar
- Yorumlar, blok yorumlar
- Global değişkenler ve katılık zorlaması
- Yerel değişkenler
- Bağımsız programlar, program argümanları
- Derleme birimleri, parçalar, ifadeler, noktalı virgüller
Veri türleri ve veri yapıları
- Temel türler: nil, boolean, sayı, dize
- Nesne türleri: fonksiyon, kullanıcı verisi, iş parçacığı, tablo
- Referanslar/nesneler ile temel değerler
- Lua'te tabloların önemi
Tabloların tanıtımı ve çok yönlülüğü
- Tablolar bir ilişkilendirme dizisi olarak
- Tablolar sayısal diziler, diziler olarak
Temel kontrol yapıları
- if then elseif else end
- while döngüsü
- repeat döngüsü
- basit for döngüsü
Hata yönetimi
- Dönüş değerleri ve istisnalar
- Bir dönüş değerini bir istisnaya dönüştürme
- Bir istisnayı bir dönüş değerine dönüştürme
- Hata seviyeleri
Örnek programlar
- Polinom değerlendirmesi
- Genişlik öncelikli arama
- Ek alıştırmalar
Fonksiyonlar hakkında daha fazla bilgi
- Adlandırılmış argümanlar
- Nesne yönelimli çağrılar
- Kapanımlar
- Kısmi uygulama (Currying)
- Kuyruk çağrıları
- Çoklu atama ve dönüş
- Değişken sayıda argüman (Varargs)
Yineleyiciler ve ortak rutinler
- Genel for döngüsü
- Durumsuz ve durumlu yineleyiciler
- Yineleyiciler ve ortak rutinler arasındaki farklar
Meta tablolar ve meta yöntemler
- Küme örneği
- __tostring meta yöntemi
- Aritmetik meta yöntemler
- __index, __newindex meta yöntemleri
- __len meta yöntemi
Modüller ve paketler
- Modülleri kullanma
- Modüller oluşturma
- Modülleri paketler halinde düzenleme
Gelişmiş tablolar
- Kuyruklar ve yığınlar için tablolar
- Grafikleri tanımlayan tablolar
- Matrisler tablolar olarak
- Bağlı listeler tablolar olarak
- Dize tamponları
Meta tablolar örneklerle
- Proxy'ler
- Salt okunur
- Belleğe alma (Memoization)
- Belleğe alma ile dinamik programlama
- Fibonacci örneği
Ortamlar
- Global değişkenler ve ortamlar arasındaki ilişki
- Serbest değişkenler
- _ENV tablosu ve _G tablosu
Modüller hakkında daha fazla bilgi
- Modüller oluşturmanın farklı yaklaşımları
- Davranışı değiştiren modüller
- Modül başlatma ve argümanlar
- Güvenli modüller uygulamak için ortamları kullanma
Gelişmiş yineleyiciler ve ortak rutinler
- Üretici, tüketici, filtre
- Yineleyiciler elde etmek için ortak rutinleri sarmalama
- Bağlı listeler için durumsuz yineleyici
Ekosisteme katkıda bulunma
- Paketleri MoonRocks'a yükleme
Lua'te fonksiyonel paradigma
- map fonksiyonu
- reduce / fold fonksiyonu
Nesne yönelimli Programming
- OOP'ye farklı yaklaşımlar
- Kalıtım'a farklı yaklaşımlar
- Örnekler
Lua Standart Kütüphanelerinin üzerinden geçilmesi
Derleme
- Derleme
- Eval
- Ortamla ilişki
- İkili parçalar
Çöp toplama
- Zayıf tablolar
- Sonlandırıcılar, __gc meta yöntemi
Lua bayt kodu ve sanal makine
- Kaynak kodundan bayt kodu oluşturma
- Bayt kodunu okuma ve analiz etme
- Hızlı bir Lua VM kaynak kodu turu
C modülleri
- C'den Lua'e çağrı
- Arama yolu ve C modüllerinin yüklenmesi
Lua'ten C'ye çağrı
- Yığın
- Hata yönetimi
- Süreklilikler
C'den Lua değerlerini ve türlerini işleme
- Diziler
- Dizeler
- Kullanıcı verisi
- Meta tablolar
- Nesne yönelimli çağrılar
- Hafif kullanıcı verisi
Bellek yönetimi
- Ayırıcılar
- GC API
Lua'te iş parçacıkları
- Ortak rutinler ve iş parçacıkları
- Gerçek çoklu iş parçacığı ve Lua durumları
Kurs İçin Gerekli Önbilgiler
En az bir başka programlama diline aşinalık. Programming deneyimi. İsteğe bağlı olarak, diğer betik dillerine aşinalık, Lua'ü anlamayı kolaylaştıracaktır.
21 Saat