现在的位置: 首页 > 综合 > 正文

lua学习之类型与值

2017年11月08日 ⁄ 综合 ⁄ 共 763字 ⁄ 字号 评论关闭

Lua是动态类型语言,变量不要类型定义

lua中有8个基本类型:nil,boolean,number,string,      userdata,function,thread,table
用函数type可以测试给定变量或者值的类型
1.nil
nil类型只有一个值,那就是nil。一个全局变量没有被赋值以前默认为nil,给全局变量赋值nil可以删除该变量
2.boolean
取值false,true,lua中所有值都可以作为条件,在控制结构中,除false,nil为假,其他为真
如:0和空串都是真
3.number
number为实数,lua没有整数
4.string
lua是8位字节,可以包含任何数值字符,包括嵌入0.这意味着可以存储任意2进制数据到一个字符串里
lua中字符串是不可以修改的
a = "one
string"
--将one换成another
b = string.gsub(a, "one", "another" )
a = "make
make make "
print(a)
print(b)
--只替换一个
b = string.gsub(a, "make", "lua", 1)
[[...]]可以包含多行字符串,不会解释转义字符。如果第一个字符是换行符将被自动忽略,之后的将不会忽略,最后如果是换行符也不会忽略

Lua 会自动在string 和numbers 之间自动进行类型转换
当一个字符串使
用算术操作符时,string 就会被转成数字。
print("10"+1) -- 11
print("10"+"20") -- 30
反过来,当Lua 期望一个 string 而碰到数字时,会将数字转成 string。
print(10 .. 20) -- 1020

5.function
函数是第一类值(和其他变量相同),意味着函数可以存储在变量中,可以作为函数
的参数,也可以作为函数的返回值。


抱歉!评论已关闭.