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

lua学习笔记(1)

发布时间:2020-12-14 21:59:32 所属栏目:大数据 来源:网络整理
导读:首先,lua是根据标准C改写而成,在本文中使用的编译器是sublime。编译环境是sublime+quick-cocos2dx3.3 1.全局变量和局部变量 在lua中,局部变量使用关键字 local,并且没有local关键字的变量都是全局变量,无论他在程序的那个位置。 例如:定义一个函数 spa

首先,lua是根据标准C改写而成,在本文中使用的编译器是sublime。编译环境是sublime+quick-cocos2dx3.3

1.全局变量和局部变量

在lua中,局部变量使用关键字 local,并且没有local关键字的变量都是全局变量,无论他在程序的那个位置。

例如:定义一个函数

<span style="font-size:24px;">function funa( )
	a=9--全局变量
end</span>
然后在构造函数中调用这个函数,并且输出a:

<span style="font-size:24px;">	funa()
	print(a)</span>

最后的输出的结果:9,。在这里我们就定义了一个全局变量a,我们是在funa中定义的这个变量,然而在构造函数:function luastudy:ctor()中调用funa然后输出,得到输出结果。

如果将a改为局部变量,则:

<span style="font-size:24px;">function funa( )
	local a=9--
end</span>
然后再和上面的形式输出,则输出结果是:nil。这个就是lua中的空。

2.数据类型

lua中的数据类型有:number,string,function,Boolean。

判断一个数据的类型使用tyoe函数,例如:a=9,print(type(a))

链接两个字符串使用:.. ?例如

a,b=3,4//lua中可以这样给多个值赋值,他会自动判断每一个数据的类型

print(a..b)

输出:

34

3.运算符

3.1运算符的优先级:(由高到低)

^




not - (unary)



* /



+ -



..




< > <= >= ~= ==
and




or

其中:not是非,~=是不等于

3.2 在lua中++,--这些是没有的,a++这个在lua中只能写成a=a+1。

4.函数

在lua中这样声明一个函数:

function function_name( ... )
-- body
end
4.1声明一个无参数的函数:

function funa( ?)
-- body
end

4.2声明一个有参数的:

function funb( a,b)
-- body
end

4.3声明一个不确定参数的

function func( ... )
-- body

a,b,c=...

print(a,c)
end

然后我们调用这个函数:

func(1,2,3).这样我们在函数func中将1,3分别赋值给了a,c。然后输出。

4.4声明一个有返回值的函数

function fund( ?)
-- body

return a

end

//多个返回值

function fune( ?)

return 1,3
end

local a,c=fune().在这里我们将1,3赋值给a,c。

5.分支语句

5.1在lua中的if语句:

if conditions then
--todo
end

5.2 if-else语句:

if conditions then
--todo
else
--todo
end

5.3if-else-if:

if conditions then
--todo
elseif conditions then
--todo
end

注意在中间的语句中elseif中间没有空格.还有就是在lua中没有switch语句.

6.循环语句:

a,b=1,9

6.1while语句:

while a<b do
--todo
print("while:",a)
a=a+1
end

6.2repeat语句相当于do-while语句

repeat
print("repaet:",a)
a=a+1
until a>b

6.3for语句

for i=1,10 do
print(i)
end

这里默认的步长是1,如果不要默认值,则:

for i=1,10,2 do
print(i)
end

这样步长就变成了2.

6.4

在lua中没有continue,只有break。

但是如何实现和continue一样的效果?

for i=1,10 do
repeat
if i==5 then
--todo
break
end
print("i=",i)
until true

end

输出结果:

(编辑:李大同)

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

    推荐文章
      热点阅读