iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0
Software Development

30天 Lua重拾筆記系列 第 4

【30天Lua重拾筆記04】基礎1: Hello, {Lua}!

假設你已經選擇好並安裝 Lua的實現,且也準備好開發環境。使用過lua -v沒問題後,就可以來試試看今天的入門示範程式。

你不必馬上了解今天的所有內容,將來都會說明到。今天只是快速的看看Lua程式長什麼樣子。

你可以執行lua,在REPL交互式環境執行範例程式碼,也可以另存檔案,並用lua file.lua執行看看。

第一個程式 - Hello, World

第一個程式?當然從打印出Hello, World開始。

Hello, World是指在電腦螢幕顯示「Hello, World!」(你好,世界!)字串的電腦程式。相關的程式通常都是每種電腦程式語言最基本、最簡單的程式,也會用作示範一個程式語言如何運作。同時它亦可以用來確認一個程式語言的編譯器、程式開發環境及運行環境是否已經安裝妥當。 -- 維基百科

print "Hello, World"

Hello, World

不過這也太簡單了,來換個方式試試。

給個名字 - Hello, Lua

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

不知道跟誰說?那就說Hello, World

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

我害羞,不想直接說哈囉,麻煩call家幫我~?

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, Selene

Hello, World
Hello, Bob
Hello, Lua
Hello, Luna
Hello, Selene

叫不動?那load看看

load([[
  hello()
  print "**************"
  hello("Bob", "Lua", "Luna", "Selene")
  ]])()

Hello, World


Hello, Bob
Hello, Lua
Hello, Luna
Hello, Selene


上一篇
【30天Lua重拾筆記03】開發環境配置
下一篇
【30天Lua重拾筆記05】基礎1: 程式區塊(block、chunk)、排版
系列文
30天 Lua重拾筆記36
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

我要留言

立即登入留言