鍍金池/ 教程/ Java/ 基本語法
數(shù)據(jù)庫訪問
循環(huán)
數(shù)組
錯誤處理
面向?qū)ο?/span>
調(diào)試
游戲開發(fā)
文件 I/O
變量
迭代器
Web 編程
模塊
函數(shù)
元表
協(xié)程
垃圾回收機制
標(biāo)準(zhǔn)庫
決策
數(shù)據(jù)類型
運行環(huán)境
操作符
字符串
基本語法
概述

基本語法

Lua 學(xué)起來非常簡單?,F(xiàn)在,讓我們開始創(chuàng)建我們的第一個 Lua 程序吧!

第一個 Lua 程序

Lua 提供交互式編程模式。在這個模式下,你可以一條一條地輸入命令,然后立即就可以得到結(jié)果。你可以在 shell 中使用 lua -i 或者 lua 命令啟動。輸入命令后,按下回車鍵,就啟動了交互模式,顯示如下:

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

你可以使用如下命令打印輸出:

$> print("test")

按下回車鍵后,你會得到如下輸出結(jié)果:

'test'

默認(rèn)模式編輯

使用 Lua 文件做為解釋器的參數(shù)啟動解釋器,然后開始執(zhí)行文件直到文件結(jié)束。當(dāng)腳本執(zhí)行結(jié)束后,解釋器就不在活躍了。

讓我們寫一個簡單的 Lua 程序。所有的 Lua 文件都擴展名都是.lua。因此,將下面的源代碼放到 test.lua 文件中。

print("test")

假如你已經(jīng)設(shè)置好 Lua 程序的環(huán)境,用下面的命令運行程序:

$ lua test.lua

我們會得到如下的輸出結(jié)果:

test

讓我們嘗試使用另外的方式運行 Lua 程序。下面是修改后的 test.lua 文件:

\#!/usr/local/bin/lua
print("test")

這里,我們假設(shè)你的 Lua 解釋器程序在 /usr/local/bin/lua 目錄下。test.lua 文件中第一行由于以 # 開始而被解釋器忽略,運行這個程序可以得到如下的結(jié)果:

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

我們會得到如下的的輸出結(jié)果:

test

接下來讓我們看一下 Lua 程序的基本結(jié)構(gòu)。這樣,你可以更容易理解 Lua 編程語言的基本結(jié)構(gòu)單元。

Lua 中的符號

Lua 程序是由大量的符號組成的。這些符號可以分為關(guān)鍵字、標(biāo)識符、常量、字符串常量幾類。例如,下面的 Lua 語句中包含三個符號:

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

這三個符號分別是:

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

注釋

注釋就是 Lua 程序中的幫助文檔,Lua 解釋器會自動忽略它們。所有注釋都以 --[[ 開始,并以 --]]結(jié)束。如下所示:

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

標(biāo)識符

Lua 中標(biāo)識符是識別變量、函數(shù)或者其它用戶自定義項的名字。標(biāo)符識總是以字母或者下劃線開始,其后可以是零個或多個字母、下劃線或數(shù)字。

Lua 標(biāo)識符中不允許出現(xiàn)任何標(biāo)點符號,比如,@,$ 或者 %。Lua 是大小寫敏感的語言,因此 Manpower 和 manpower 是 Lua 中兩個不同的標(biāo)識符。下面所列的是一些合法標(biāo)識符的例子。

mohd         zara      abc     move_name    a_123
myname50     _temp     j       a23b9        retVal

關(guān)鍵字

下面列表中所示的是 Lua 中一小部分保留字。這些保留字不能用作常量、變量以及任何標(biāo)識符的名字。

and break do else
elseif end false for
function if in local
nil not or repeat
return then true until
while

Lua 中的空白符

如果 Lua 程序中某一行只包含空格或者注釋,那么這樣的一行被稱之為空行。 Lua 解釋器將完全忽略這一行。

在 Lua 中,空白是用來描述空格、制表符、換行符和注釋的術(shù)語??瞻追糜趯⒄Z句中的一部分與其它部分區(qū)分開,使得解釋器可以語句中的一個元素,比如 int,何處結(jié)束,以及另一個元素從何處開始。因此,在下面的語句中:

local age

在 local 與 age 之間至少有一個空白符(通常是空格),這個空白符使得解釋器可以將 local 與 age 區(qū)分開。另一方面,在下面的語句中:

fruit = apples + oranges   --get the total fruit

fruit 與 = 之間以及 = 與 apples 之間的空白符都是可以沒有的。但是為了程序的可讀性目的,建議你在它們之間使用空白符。

上一篇:協(xié)程下一篇:字符串