1. 程式人生 > >Lua和C的語法差別

Lua和C的語法差別

his 固定 腳本語言 c/c++ 進行 != 意義 特殊 oca

  • 沒有main函數

Lua是腳本語言,沒有固定入口的main函數。當lua解析器解析某個lua代碼文件時,lua解析器一樣一行的解析lua腳本。

print("Hello lua")

將以上代碼保存在a.lua,然後執行lua a.lua,將看到輸出

  • 除法要小心

c/c++整數相除時,得到的依舊是整數,而lua則不是

std::cout << 3/5 << endl; // 在C++中,得到0

print(3/5) -- 在lua中,得到0.6
  • ^符號意義不同

在Lua中,^表示乘方,比如2^5等於32

  • 邏輯假不同

在lua中,只有false和nil表示假,其他表示真,也就是說,0也表示真

local a = 0
if a then 
    print("is true")
end

以上代碼會打印is true

  • ~=表示不等於

跟c語言裏!=不同

  • #操作符

#操作符用來獲取長度

print(#"abc")
-- 將輸出3
  • 字符串表示更加靈活

在lua中,可以用‘‘、""、[[]]來引用字符串,字符串中遇到特殊字符也可以用\進行轉義

local a = ‘abc‘
local b = "abc"
local c = "ab‘c"
local d = ‘ab"c‘
local e = [[
    <html>
        this is "aaa" ‘bbb‘ ....
    </html>
]]
  • 沒有continue

Lua和C的語法差別