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

Katılımcı Sayısı


Kişi Başına Fiyat

Yaklaşan Etkinlikler

İlgili Kategoriler