Lua和C的語法差別
阿新 • • 發佈:2017-10-03
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的語法差別