快速掌握Lua 5.3 —— 讓我們開始吧


Q:什么樣的文件是Lua腳本?

A:存儲了使用Lua語言編寫的腳本的文件都可以稱作Lua腳本,但一般為了一眼就能看出來,將文件的后綴命名為.lua。

Q:如何啟動Lua?

A:
1、命令行中輸入lua,這樣會啟動Lua的“stand-alone interpreter”模式,可以像使用shell一樣使用它。
2、將Lua腳本存入“*.lua”文件中,命令行中使用lua *.lua執行腳本。

Q:Hello World?

A:print("Hello World")。即可以在“stand-alone interpreter”模式中執行,也可以將其寫入文件執行。

Q:如何退出Lua的“stand-alone interpreter”模式?

A:優雅一些的做法是Ctrl-D或者os.exit();暴力一些的做法可以是Ctrl-C

Q:什么是“Chunks”?

A:一段代碼,就好像C語言中“{}”括起來的代碼段一樣。

Q:在Lua的“stand-alone interpreter”模式下,為什么有時候提示符變成了“>>”?

A:Lua交互模式的默認提示符是“>”,你每按一次回車,lua都會把你之前輸入的東西認為是一個chunk。但如果Lua判斷出你輸入的東西不是一個完整的chunk,則提示符會變為“>>”用以提示你將未完成的chunk輸入完整。

Q:lua -l a.lua -l b.lua

A:“-l”選項可以將指定文件中的代碼加載至當前腳本並執行(實際上通過require實現)。如問題中的例子,可以理解為先執行a.lua中的代碼,再執行b.lua中的代碼。

Q:lua -i b.lua

A:“-i”選項代表在執行完指定的腳本后立即進入“stand-alone interpreter”模式。

Q:dofile("a.lua")

A:加載指定文件中的代碼並執行。

Q:如何使用變量?

A:Lua中的變量無需聲明,直接賦個值就可以使用,默認都是全局的(想創建局部變量需要local關鍵字)。甚至於使用未初始化的變量也不會報錯,得到的值是nil

> print(x)
nil
> x = 9
> print(x)
9

Q:變量的命名規范?

A:由字母,數字,下划線組成,不能以數字開始。以下划線開頭的並且全是大寫的變量名很可能是保留變量,小心使用。

Q:Lua中的關鍵字?

A:

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

Q:是否對大小寫敏感?

A:是。

Q:如何注釋代碼?

A:使用--注釋一行代碼;使用--[[ ]]注釋一段代碼。

Q:有的lua腳本中第一行類似於#!/usr/local/bin/lua

A:指定腳本解釋器,就好像shell的一樣。指定了腳本解釋器的lua腳本可以直接被調用,而無需使用lua命令。

Q:lua -e 'print("Hello World!")'"

A:”-e”選項允許在命令行上直接執行腳本。

Q:如何向lua腳本傳遞參數?

A:lua腳本接收的參數保存在一個名為arg的的變量中,它實際是一個”table”,使用方式類似於C語言中的數組。

-- a.lua文件的內容。
print("The first arg is:", arg[1])
print("The second arg is:", arg[2])
print("The third arg is:", arg[3])

prompt> lua a.lua 5 7 9
The first arg is: 5
The second arg is: 7
The third arg is: 9

附加:

1、Lua中每行的結尾可以不寫分號,甚至同一行的兩條語句之間都可以不寫。不過按照慣例還是寫比較好,代碼也更美觀。
2、更改“_PROMPT”變量的值可以更改Lua的“stand-alone interpreter”模式下的默認提示符:

> _PROMPT=’my_prompt>’
my_prompt>

3、想要刪除一個全局變量,可以將其值賦為nil,Lua會回收其所占的內存空間。
4、變量名字中的字母字母不僅可以是英文字母,還可以是你所使用的語言中的字母。不過不建議這么寫,因為在不支持這種語言的機器上你的程序將無法運行。
5、lua的變量類型是動態的,不用指定類型,你給它什么類型的值,他就是什么類型的。
6、Lua中所有未初始化的變量的值都是nil


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: