Lua 程式設計教學:運算子

本文介紹 Lua 的運算子。

代數運算子

Lua 支援以下代數運算子:

  • +:相加
  • -:相減、負號
  • *:相乘
  • /:相除
  • %:取餘數
  • ^:取指數

其中取餘數比較特別一點,因 Lua 的數字是浮點數,而取餘數可對浮點數取值,見下例:

print(1 % 0.7)

但取出來不會剛好等於 0.3,而有一點點誤差。

關係運算子

Lua 支援以下關係運算子:

  • ==:相等
  • ~=:不相等
  • >:大於
  • >=:大於或等於
  • <:小於
  • <=:小於或等於

見以下實例:

assert(3 + 2 == 5)
assert(3 + 2 ~= 4)
assert(3 + 2 > 4)
assert(3 + 2 >= 4)
assert(1 + 2 < 4)
assert(1 + 2 <= 4)

邏輯運算子

Lua 支援以下邏輯運算子:

  • and:且
  • or:或
  • not:相反

見以下實例:

assert((true and true) == true)
assert((true and false) == false)
assert((false and true) == false)
assert((false and false) == false)

assert((true or true) == true)
assert((true or false) == true)
assert((false or true) == true)
assert((false or false) == false)

assert((not true) == false)
assert((not false) == true)

字串相接運算子

Lua 使用 .. 進行字串相接。見下例:

assert(("Hello " .. "World") == "Hello World")

和 table 相關的運算子

我們留到介紹 table 的章節一併介紹。