加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

lua教程 - 入门基础

发布时间:2020-12-14 22:20:19 所属栏目:大数据 来源:网络整理
导读:1,关键字 and break do else elseif ? end false for function if ? in local nil not or ? repeat return then true until while 2,数据类型 怎么确定一个变量是什么类型的呢?大家可以用 type() 函数来检查。 Lua 支持的类型有以下几种: Nil 空值,所有没

1,关键字

and

break

do

else

elseif

?

end

false

for

function

if

?

in

local

nil

not

or

?

repeat

return

then

true

until

while


2,数据类型

怎么确定一个变量是什么类型的呢?大家可以用type()函数来检查。Lua支持的类型有以下几种:

Nil

空值,所有没有使用过的变量,都是nilnil既是值,又是类型。

Boolean

布尔值,只有两个有效值:truefalse

Number

数值,在Lua里,数值相当于C语言的double

String

字符串,如果你愿意的话,字符串是可以包含""字符的(这和C语言总是以""结尾是不一样的)

Table

关系表类型,这个类型功能比较强大,请参考后面的内容。

Function

函数类型,不要怀疑,函数也是一种类型,也就是说,所有的函数,它本身就是一个变量。

Userdata

嗯,这个类型专门用来和Lua的宿主打交道的。宿主通常是用CC++来编写的,在这种情况下,Userdata可以是宿主的任意数据类型,常用的有Struct和指针。

Thread

线程类型,在Lua中没有真正的线程。Lua中可以将一个函数分成几部份运行。如果感兴趣的话,可以去看看Lua的文档。
现在回过头来看看,倒觉得不是线程类型。反而象是用来做遍历的,象是Iterator函数。
如:

function?range(n)
??local?i?=?0
??while(i?<?n)?do?
????coroutine.yield(?i?)
????i?=?i?+?1
??end
end

可惜的是要继续运行,需要coroutine.resume函数,有点鸡肋。请指教。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读