Cocos2d-Lua之类型及类型转换

一、Lua类型

Lua中的类型只有四种:
1. number
2. string
3. boolean
4. function

根据其他语言后三种类型就不解释了,第一种类型number,既包括整型,也包括浮点型,统一都是number型。

lua用type函数打印类型:

local a = 5
local b = 5.5;
local c = "hello";
local d = true;

print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(fun));

function fun()
    local a = "hello, world"
end

输出结果:

这里写图片描述

二、string与number间的转换

lua中的string和number类型间有个强大的功能,如果string类型的值看上去是个number,那么系统就会自动转换成number类型。

local a = "5"
local b = "5.5";

print(type(a))
print(type(b))
print(a + b)
print(type(a + b))

输出结果:

这里写图片描述

可以看到两个string类型的变量a和b一做加法,系统将他们自动变成了number型。这样看似number型的string和number相加同样会自动转换。

那么如果并不是看上去那样是个number的string类型相加呢,这里也给个例子:

local a = "5"
local b = "w.55";

print(type(a))
print(type(b))
print(a + b)
print(type(a + b))

输出结果:

这里写图片描述

可以看到这样就会报错了,系统自动识别number真的是很强大,同样这个地方要非常的小心,可能本意并不想转number型,但是系统自动转了。

三、string和number类型的连接功能

Lua中的string类型是通过“..”讲两个string进行连接的:

local a = "5"
local b = ".55";

print(type(a))
print(type(b))
print(a .. b)
print(type(a .. b))

输出结果:

这里写图片描述

可以看到两个string连成了5.55,类型仍然是string,这里并不会自动转换。同样可以多个number或者string混合连接,这种连接功能只适用于string和number类型间,function和boolean类型都不支持。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值