假設你已經選擇好並安裝 Lua的實現,且也準備好開發環境。使用過lua -v
沒問題後,就可以來試試看今天的入門示範程式。
你不必馬上了解今天的所有內容,將來都會說明到。今天只是快速的看看Lua程式長什麼樣子。
你可以執行lua
,在REPL交互式環境執行範例程式碼,也可以另存檔案,並用lua file.lua
執行看看。
第一個程式?當然從打印出Hello, World開始。
Hello, World是指在電腦螢幕顯示「Hello, World!」(你好,世界!)字串的電腦程式。相關的程式通常都是每種電腦程式語言最基本、最簡單的程式,也會用作示範一個程式語言如何運作。同時它亦可以用來確認一個程式語言的編譯器、程式開發環境及運行環境是否已經安裝妥當。 -- 維基百科
print "Hello, World"
Hello, World
不過這也太簡單了,來換個方式試試。
function hello(name)
print("Hello, " .. name)
end
hello("Lua")
Hello, Lua
還不夠,想要一次跟多個人說哈囉。
function hello(...)
local members = {...}
for _,m in pairs(members) do
print("Hello, "..m)
end
end
hello("Bob", "Lua", "Luna", "Selene")
Hello, Bob
Hello, Lua
Hello, Luna
Hello, Selene
function hello(...)
local members = {...}
if #members <= 0 then
print "Hello, World"
else
for _,m in pairs(members) do
print("Hello, "..m)
end
end
end
hello()
print("-----------")
hello("Bob", "Lua", "Luna", "Selene")
Hello, Worrld
Hello, Bob
Hello, Lua
Hello, Luna
Hello, Selene
pcall(hello)
pcall(hello, "Bob", "Lua", "Luna", "Selene")
print("--------")
function error_handler(msg)
print("Error, "..msg)
end
xpcall(hello, error_handler)
xpcall(hello, error_handler, "Bob", "Lua", "Luna", "Selene")
print("--------")
Hello, World
Hello, Bob
Hello, Lua
Hello, Luna
Hello, SeleneHello, World
Hello, Bob
Hello, Lua
Hello, Luna
Hello, Selene
load([[
hello()
print "**************"
hello("Bob", "Lua", "Luna", "Selene")
]])()
Hello, World
Hello, Bob
Hello, Lua
Hello, Luna
Hello, Selene