Kerangka Materi

Pengenalan Lua

  • Sejarah singkat
  • Tujuan, fitur, dan bukan tujuan Lua
  • Sumber dokumen dan tutorial Lua
  • Memasang interpretasi Lua
  • Mengatur dan menggunakan LuaRocks

Sintaks dan semantik dasar

  • Identifikasi
  • Komentar, komentar blok
  • Variabel global dan pengenalan ketat
  • Variabel lokal
  • Program berdiri sendiri, argumen program
  • Unit kompilasi, potongan, ekspresi, titik koma

Tipe data dan struktur data

  • Tipe dasar: nil, boolean, number, string
  • Tipe objek: function, userdata, thread, table
  • Referensi/objek vs. nilai dasar
  • Kepentingan tabel dalam Lua

Pengenalan tabel dan keberanannya

  • Tabel sebagai array asosiatif
  • Tabel sebagai array numerik, urutan

Struktur kontrol dasar

  • If then elseif else end
  • Loop while
  • Loop repeat
  • Loop for sederhana

Penanganan kesalahan

  • Nilai kembalian vs pengecualian
  • Mengubah nilai kembalian menjadi pengecualian
  • Mengubah pengecualian menjadi nilai kembalian
  • Tingkat kesalahan

Program contoh

  • Penilaian polinomial
  • Cari lebar pertama
  • Latihan tambahan

Lebih banyak tentang fungsi

  • Argumen dinamis
  • Pemanggilan berorientasi objek
  • Penutup
  • Currying
  • Panggilan ekor
  • Pemberian dan pengembalian ganda
  • Varargs

Iterator dan ko-routin

  • Loop for generik
  • Iterator stateless vs stateful
  • Perbedaan antara iterator dan ko-routin

Metatabel dan metametode

  • Contoh set
  • Metametode __tostring
  • Metametode aritmatika
  • Metametode __index, __newindex
  • Metametode __len

Modul dan paket

  • Menggunakan modul
  • Membuat modul
  • Mengorganisir modul menjadi paket

Tabel tingkat lanjut

  • Tabel untuk antrian dan tumpukan
  • Tabel yang mendeskripsikan graf
  • Matriks sebagai tabel
  • Daftar terhubung sebagai tabel
  • Penyangga string

Metatabel melalui contoh

  • Proksi
  • Baca saja
  • Memoisasi
  • Pemrograman dinamis dengan memoisasi
  • Contoh Fibonacci

Lingkungan

  • Hubungan antara variabel global dan lingkungan
  • Variabel bebas
  • Tabel _ENV dan tabel _G

Lebih banyak tentang modul

  • Pendekatan berbeda untuk membuat modul
  • Modul yang mengubah perilaku
  • Inisialisasi modul dan argumen
  • Menggunakan lingkungan untuk mengimplementasikan modul yang aman

Iterator dan ko-routin tingkat lanjut

  • Produser, konsumen, filter
  • Memaket ko-routin untuk mendapatkan iterator
  • Iterator stateless untuk daftar terhubung

Kontribusi pada Ekosistem

  • Mengunggah paket ke MoonRocks

Paradigma fungsional dalam Lua

  • Fungsi map
  • Fungsi reduce / fold

Pemrograman berorientasi objek

  • Pendekatan berbeda terhadap OOP
  • Pendekatan berbeda terhadap pewarisan
  • Contoh

Panduan tentang Lua Standard Libraries

Kompilasi

  • Kompilasi
  • Eval
  • Hubungan dengan lingkungan
  • Potongan biner

Koleksi sampah

  • Tabel lemah
  • Finalizer, metametode __gc

Bytecode dan mesin virtual Lua

  • Mengenerate bytecode dari kode sumber
  • Membaca dan menganalisis bytecode
  • Tentang ringkas kode sumber mesin virtual Lua

Modul C

  • Memanggil C dari Lua
  • Jalur pencarian dan pemuatan modul C

Memanggil Lua dari C

  • Tumpukan
  • Penanganan kesalahan
  • Kontinuasi

Menanganani nilai dan tipe Lua dari C

  • Array
  • String
  • Userdata
  • Metatabel
  • Pemanggilan berorientasi objek
  • Light userdata

Pengelolaan memori

  • Alokator
  • API GC

Thread dalam Lua

  • Ko-routin vs thread
  • Multithreading nyata dan keadaan Lua

Persyaratan

Pemahaman dengan setidaknya satu bahasa pemrograman lainnya. Pengalaman pemrograman. Secara opsional, jika Anda memiliki pemahaman dengan bahasa skrip lainnya, hal ini akan memudahkan untuk memahami Lua.

 21 Jam

Jumlah Peserta


Biaya per Peserta

Kursus Mendatang

Kategori Terkait