Thứ Sáu, 28 tháng 9, 2012

Learning Lua (1) - Basic Concept

Những khái niệm cơ bản trong Lua

1. Giá trị và kiểu dữ liệu
- Cũng giống như Java Script, Python, ..., Lua là một ngôn ngữ có kiểu dữ liệu động, nghĩa là các biến khi được khai báo không cần phải xác định kiểu dữ liệu. Kiểu dữ liệu của biến được xác định phụ thuộc vào kiểu dữ liệu được gán.
ví dụ:
local temp ; -- Chưa có kiểu dữ liệu
temp = 'Hello world!'; -- bây giờ là kiểu string
temp = 12; -- Bây giờ temp là kiểu int

- Có 8 kiểu dữ liệu cơ bản trong Lua: nil, boolean, number, string, function, userdata, thread và table.
+ Nil là kiểu dữ liệu đặc biệt. Nó biểu diễn giá trị rỗng giống như NULL trong C++, Java.
+ Boolean  gồm có 2 giá trị TRUE và FALSE. Cả False và nil đều làm cho biểu thức điểu kiện trả về false, các giá trị khác nil sẽ trả về true.
+ Number có thể là số nguyên hay số thực, các thao tác trên kiểu dữ liệu number tương tự như trên C (Vì Lua được xây dựng dựa trên C).
+ String (chuỗi): chuỗi trong Lua được xác định bởi cặp dấu "<value>" hoặc '<value>'. Sự khác biệt giữa 2 cách định nghĩa chuỗi đó là khi sử dụng  "", nếu muốn trong chuỗi chứ kí tự " thì phải thêm dấu \ phía trước còn khi sử dụng '' thì không cần.
+ function: là kiểu dữ liệu tương tự như con trỏ hàm trong C++, nó chứa địa chỉ của một hàm và có thể gọi hàm thông qua biến kiểu function. Lua có thể gọi hàm được viết bằng Lua hoặc hàm viết bằng C
+ user data: kiểu dữ liệu người dùng định nghĩa cho phép người dùng lưu 1 kiểu dữ liệu tùy ý được định nghĩa trong C/C++ vào một biến lua

Thứ Năm, 27 tháng 9, 2012

Giới thiệu ngôn ngữ LUA

Lua là một ngôn ngữ script rất nhanh và mạnh mẽ. Lua được sử dụng từ rất lâu trên thế giới, đặc biệt là trong lĩnh vực game. Tuy nhiên ngôn ngữ này chưa được sử dụng phổ biến ở Việt Nam. Bài viết này sẽ giới thiệu một số tính năng cơ bản của Lua




1. Lua là gì?

Lua là một ngôn ngữ script mạnh mẽ, nhanh, nhẹ và có khả năng “nhúng” vào các ngôn ngữ khác.
Lua là sự kết hợp gữa cú pháp lệnh đơn giản và kiểu mô tả dữ liệu động được xây dựng dựa trên mảng có khả năng mở rộng. Các đoạn lệnh được viết bằng Lua được thực thibằng cách thông dịch max lệnh qua một máy ảo dựa trên thanh ghi (register-based), bộ thông dịch của Lua cung cấp cơ chế quản lý bộ nhớ thông qua một bộ gom rác. Những điều này làm cho Lua trở thành một ngôn ngữ lý tưởng để cấu hình, viết kịch bản và tạo ra các mẫu prototype một cách nhanh chóng.