首页 > 代码库 > lua学习笔记 - 数据类型

lua学习笔记 - 数据类型

nil 空类型

boolean true或false

if nid 为false

number 双精度类型的浮点数

print "2" = 2print ("2"+2) = 4print ("2"+"3") = 5print ("2 + 3") = "2 + 3"

string 字符串

注释 --[[       dfsdkljfjsdlf sdfsjklf   --]] 一块字符串,可换行str = [[ def func():   pass ]]print("a".."b") = "ab"print(157+22) = 15722print(#"haha") = 4 计算字符串长度

function c或者lua写的函数

function factorial1(n)    if n == 0 then        return 1    else        return n * factorial1(n - 1)    endendprint(factorial1(5))factorial2 = factorial1print(factorial2(5))120120
--[[ 匿名函数 --]]function test1(tab, fun)    print(tab..fun(tab))endtest1("haha", function(tb)    tb = tb.."22"    return tbend)hahahaha22

 

table(表)

a = {"ww", "ff", "dd"}a[1] = "haha"a["xz"] = "ldb"for k,v in pairs(a) do    print(k..":"..v)end--[[输出1:haha2:ff3:ddxz:ldb不是从0开始--]]

a3 = {}for i = 1, 10 do    a3[i] = ienda3["key"] = "val"print(a3["key"])print(a3["none"])

脚本执行结果为:

valnil

 

thread

在 Lua 里,最主要的线程是协同程序(coroutine)。它跟线程(thread)差不多,拥有自己独立的栈、局部变量和指令指针,可以跟其他协同程序共享全局变量和其他大部分东西。

线程跟协程的区别:线程可以同时多个运行,而协程任意时刻只能运行一个,并且处于运行状态的协程只有被挂起(suspend)时才会暂停。

 

userdata 自定义类型

userdata 是一种用户自定义数据,用于表示一种由应用程序或 C/C++ 语言库所创建的类型,可以将任意 C/C++ 的任意数据类型的数据(通常是 struct 和 指针)存储到 Lua 变量中调用。

lua学习笔记 - 数据类型