lua学习之类型与值


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
函数是第一类值(和其他变量相同),意味着函数可以存储在变量中,可以作为函数
的参数,也可以作为函数的返回值。


你可能感兴趣的:(lua学习之类型与值)