Lua在线测试网址:
http://www.lua.org/cgi-bin/demo
Lua中文api手册:
http://manual.luaer.cn/--官方的,更权威,但是翻译不完全
http://www.codingnow.com/2000/download/lua_manual.html--翻译比官方稍微多一点点
基本数据类型:
1.nil(空)类型
2.boolean(布尔)类型
3.number(数字)类型
4.string(字符串)类型
5.userdata(自定义类型)
6.function(函数)类型
7.thread(线程)类型
8.table(表)类型
可以使用type(x)获取类型
字符串类型的连接符,只能连接字符串和数字类型,其他类型的,会直接报错。
local b = false local n = 3555 local f = 1.2225 local s = 'test' local empty = nil io.write('Hello world '..b)--报错 io.write('Hello world '..n)--正常输出 io.write('Hello world '..f)--正常输出 io.write('Hello world '..s)--正常输出 io.write('Hello world '..empty)--报错 io.write('Hello world '..string.format('%s', b))--正常输出
if判断时,只有false、nil会被认为是false。
在用==进行比较的时候,只有false == false会被认为是true,准确说:做==比较时,不同类型都认为是false,同类型时才比较值是否相等。
测试代码及结果:
local r = false if r ~= 0 then io.write("(false ~= 0) is true") else io.write("(false ~= 0) is false") end io.write("\n") local r = false if r == false then io.write("(false == false) is true") else io.write("(false == false) is false") end io.write("\n") local r = false if r then io.write("false is true") else io.write("false is false") end io.write("\n") local r = 0 if r == false then io.write("(0 == false) is true") else io.write("(0 == false) is false") end io.write("\n") local r = 0 if r then io.write("0 is true") else io.write("0 is false") end io.write("\n") local r = 3 if r == false then io.write("(3 == false) is true") else io.write("(3 == false) is false") end io.write("\n") local r = 3 if r then io.write("3 is true") else io.write("3 is false") end io.write("\n") local r = nil if r == false then io.write("(nil == false) is true") else io.write("(nil == false) is false") end io.write("\n") local r = nil if r then io.write("nil is true") else io.write("nil is false") end
结果:
(false ~= 0) is true--不同类型比较,是false,取相反结果,就是true (false == false) is true--同类型比较,正常结果 false is false--false,认为是false (0 == false) is false--不同类型比较,false 0 is true--非nil和false,都认为是true (3 == false) is false--不同类型比较,false 3 is true--非nil和false,都认为是true (nil == false) is false--不同类型比较,false nil is false--nil,认为是false