(二)Lua类型与值

Lua有八种基础类型:nil(空), boolean(布尔), number(数字), string(字符串), userdata(用户自定义),function(函数), thread(线程), and table(表)

2.1 nil

nil是一种类型,他只有nil一个值,相当于无效值。全局变量在第一次赋值前默认值就是nil,也就是说把nil赋值给全局变量等同于删除它

2.2 boolean

boolean类型有truefalse两个值。Lua中任何值都可以表示一个条件,除了falsenil视为假外,其他都是真

2.3 number

number类型表示实数,Lua没有整数类型

2.4 string

Lua的字符串可以储存任意二进制数据,而且本身是不可变的值,要修改一个字符串,就要创建新的字符串
a = “one string”
b = string.gsub(a, “one”, “another”) – change string parts
print(a) –> one string
print(b) –> another string

另外还可以用一对匹配的双方括号来界定一个字符串(括号中间可以加等量的等号)
page = [[


An HTML Page


Lua


]]
write(page)

在进行算数运算的时候,Lua会尝试将字符串转换为数字
想要显示转换,要调用tonumber函数
另外在Lua5.1中,在字符串前面加”#”可以求字符串长度

2.5 table

在Lua中,table既不是值也不是变量,它们是对象。使用table来表示普通数组、集合的记录,和其他数据结构。Lua使用table表示包和对象
创建一个table
a = {}
x = “y”
a[x] = 10
print(a[x]) –> 10
print(a.x) –> nil
print(a.y) –> 10

2.6 function

在Lua中,函数是可以作为语句和表达式的。在Lua函数是”第一类值”。

2.7 userdata

用户数据类型允许任意C数据存储在Lua变量

2.8 thread

Lua不支持真正的多线程,因为ANSI C没有提供

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值