Liên hệ với chúng tôi

Đề cương khóa học

Giới thiệu về Lua

  • Một chút về lịch sử
  • Mục tiêu, đặc điểm và các mục tiêu không theo đuổi của Lua
  • Các nguồn tài liệu và hướng dẫn của Lua
  • Cài đặt trình thông dịch Lua
  • Cấu hình và sử dụng LuaRocks

Cú pháp và ngữ nghĩa cơ bản

  • Định danh
  • Ghi chú, khối ghi chú
  • Biến toàn cục và việc áp dụng tính nghiêm ngặt
  • Biến cục bộ
  • Chương trình độc lập, đối số chương trình
  • Đơn vị biên dịch, khối lệnh, biểu thức, dấu chấm phẩy

Loại dữ liệu và cấu trúc dữ liệu

  • Loại cơ bản: nil, boolean, number, string
  • Loại đối tượng: function, userdata, thread, table
  • Tham chiếu/đối tượng so với giá trị cơ bản
  • Tầm quan trọng của bảng trong Lua

Giới thiệu về bảng và sự đa dụng của chúng

  • Bảng như một mảng kết hợp
  • Bảng như mảng số, chuỗi

Cấu trúc điều khiển cơ bản

  • Cú if then elseif else end
  • Vòng lặp while
  • Vòng lặp repeat
  • Vòng lặp for đơn giản

Xử lý lỗi

  • Giá trị trả về so với ngoại lệ
  • Chuyển đổi giá trị trả về thành ngoại lệ
  • Chuyển đổi ngoại lệ thành giá trị trả về
  • Cấp độ lỗi

Các chương trình ví dụ

  • Đánh giá đa thức
  • Tìm kiếm theo chiều rộng
  • Bài tập bổ sung

Tìm hiểu thêm về hàm

  • Đối số có tên
  • Gọi theo hướng đối tượng
  • Đóng (Closures)
  • Currying
  • Gọi đuôi (Tail calls)
  • Gán và trả về nhiều giá trị
  • Varargs

Trình lặp và đồng thời (co-routines)

  • Vòng lặp for tổng quát
  • Trình lặp không trạng thái so với có trạng thái
  • Sự khác biệt giữa trình lặp và đồng thời

Bảng meta và phương thức meta

  • Ví dụ về tập hợp (set)
  • Phương thức meta __tostring
  • Phương thức meta số học
  • Phương thức meta __index, __newindex
  • Phương thức meta __len

Module và gói (packages)

  • Sử dụng module
  • Tạo module
  • Tổ chức module thành các gói

Lập trình hướng đối tượng

  • Các khối xây dựng của OOP trong Lua
  • Các ví dụ

Bàn luận về các tính năng ngôn ngữ nâng cao hơn

  • Bảng yếu (Weak tables)
  • Trình dọn dẹp (Finalizers)
  • Biên dịch, eval, nạp (loading)

Yêu cầu

Phải có kiến thức về ít nhất một ngôn ngữ lập trình khác. Có kinh nghiệm lập trình. Tùy chọn: Nếu đã quen thuộc với các ngôn ngữ kịch bản khác, việc hiểu Lua sẽ dễ dàng hơn.

 14 Giờ

Số người tham gia


Giá cho mỗi học viên

Các khóa học sắp tới

Các danh mục liên quan