您的位置:首页 > 编程语言 > Lua

lua学习笔记(1)

2015-08-08 18:11 441 查看
首先,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,b,c)

end

然后我们调用这个函数:

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

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

function fund( )

-- body

return a

end

//多个返回值

function fune( )

return 1,2,3

end

local a,b,c=fune().在这里我们将1,2,3赋值给a,b,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

输出结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: