Lua - Cú pháp cơ bản

Hãy để chúng tôi bắt đầu tạo chương trình Lua đầu tiên của chúng tôi!

Chương trình Lua đầu tiên

Lập trình chế độ tương tác

Lua cung cấp một chế độ gọi là chế độ tương tác. Trong chế độ này, bạn có thể gõ lần lượt các hướng dẫn và nhận được kết quả tức thì. Điều này có thể được gọi trong shell bằng cách sử dụng lua -i hoặc chỉ lệnh lua. Sau khi nhập xong, nhấn Enter và chế độ tương tác sẽ được khởi động như hình dưới đây.

$ lua -i 
$ Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio
quit to end; cd, dir and edit also available

Bạn có thể in thứ gì đó bằng cách sử dụng câu lệnh sau:

print("test")

Khi bạn nhấn enter, bạn sẽ nhận được kết quả sau:

test

Lập trình chế độ mặc định

Việc gọi trình thông dịch với tham số tên tệp Lua bắt đầu thực thi tệp và tiếp tục cho đến khi tập lệnh kết thúc. Khi tập lệnh kết thúc, trình thông dịch không còn hoạt động.

Hãy để chúng tôi viết một chương trình Lua đơn giản. Tất cả các tệp Lua sẽ có phần mở rộng .lua. Vì vậy, hãy đặt mã nguồn sau vào tệp test.lua.

print("test")

Giả sử, môi trường lua được thiết lập chính xác, hãy chạy chương trình bằng đoạn mã sau:

$ lua test.lua

Chúng tôi sẽ nhận được kết quả sau:

test

Hãy thử một cách khác để thực thi một chương trình Lua. Dưới đây là tệp test.lua đã sửa đổi -

#!/usr/local/bin/lua

print("test")

Ở đây, chúng tôi đã giả định rằng bạn có sẵn trình thông dịch Lua trong thư mục / usr / local / bin của bạn. Dòng đầu tiên bị trình thông dịch bỏ qua nếu nó bắt đầu bằng dấu #. Bây giờ, hãy thử chạy chương trình này như sau:

$ chmod a+rx test.lua
$./test.lua

Chúng ta sẽ nhận được kết quả sau.

test

Bây giờ chúng ta hãy xem cấu trúc cơ bản của chương trình Lua, để bạn có thể dễ dàng hiểu được các khối xây dựng cơ bản của ngôn ngữ lập trình Lua.

Token trong Lua

Một chương trình Lua bao gồm các mã thông báo khác nhau và mã thông báo hoặc là một từ khóa, một định danh, một hằng số, một chuỗi ký tự hoặc một ký hiệu. Ví dụ: câu lệnh Lua sau đây bao gồm ba mã thông báo:

io.write("Hello world, from ",_VERSION,"!\n")

Các mã thông báo riêng lẻ là -

io.write
(
   "Hello world, from ",_VERSION,"!\n"
)

Bình luận

Nhận xét giống như văn bản trợ giúp trong chương trình Lua của bạn và chúng bị thông dịch viên bỏ qua. Chúng bắt đầu bằng - [[và kết thúc bằng các ký tự -]] như hình dưới đây -

--[[ my first program in Lua --]]

Định danh

Định danh Lua là tên được sử dụng để xác định một biến, hàm hoặc bất kỳ mục nào khác do người dùng xác định. Số nhận dạng bắt đầu bằng chữ cái 'A đến Z' hoặc 'a đến z' hoặc dấu gạch dưới '_' theo sau là không hoặc nhiều chữ cái, dấu gạch dưới và chữ số (0 đến 9).

Lua không cho phép các ký tự dấu câu như @, $ và% trong số nhận dạng. Lua là mộtcase sensitivengôn ngữ lập trình. Như vậy Nhân lựcnhân lực là hai định danh khác nhau trong Lúa. Dưới đây là một số ví dụ về các số nhận dạng được chấp nhận -

mohd         zara      abc     move_name    a_123
myname50     _temp     j       a23b9        retVal

Từ khóa

Danh sách sau đây cho thấy một số từ dành riêng trong Lua. Những từ dành riêng này không được dùng làm hằng số hoặc biến hoặc bất kỳ tên định danh nào khác.

phá vỡ làm khác
elseif kết thúc sai cho
chức năng nếu trong địa phương
không không phải hoặc là nói lại
trở về sau đó thật cho đến khi
trong khi

Khoảng trắng trong Lua

Một dòng chỉ chứa khoảng trắng, có thể có chú thích, được gọi là dòng trống và trình thông dịch Lua hoàn toàn bỏ qua nó.

Khoảng trắng là thuật ngữ được sử dụng trong Lua để mô tả khoảng trống, tab, ký tự dòng mới và nhận xét. Khoảng trắng ngăn cách một phần của câu lệnh với phần khác và cho phép trình thông dịch xác định vị trí một phần tử trong câu lệnh, chẳng hạn như int kết thúc và phần tử tiếp theo bắt đầu. Do đó, trong câu lệnh sau:

local age

Phải có ít nhất một ký tự khoảng trắng (thường là khoảng trắng) giữa địa phương và tuổi để trình thông dịch có thể phân biệt chúng. Mặt khác, trong câu lệnh sau:

fruit = apples + oranges   --get the total fruit

Không có ký tự khoảng trắng nào là cần thiết giữa trái cây và =, hoặc giữa = và táo, mặc dù bạn có thể thêm một số ký tự nếu muốn vì mục đích dễ đọc.