Lua随笔(一)

Lua函数

1.可以将函数作为参数传递给其他函数,感觉像C#的回调一样
		myprint = function(param)
	    	print("这是打印函数 -   ##",param,"##")
	    end
	    
	    function add(num1,num2,functionPrint)
	    	result = num1 + num2
	    	-- 调用传递的函数参数
	   	 	functionPrint(result)
	    end
	    myprint(10)
	    -- myprint 函数作为参数传递
	    add(2,5,myprint)
2.Lua函数可以返回多个返回值
3.可以接受可变数目的参数,function funcName(...) (...)表示可变数目的参数,感觉像C#的params一样,需要放在固定参数的后面;通过select("#",...)获取可变参数的数目
4.Lua函数有个便利的语法:
Test = {jun = 0}
function Test.withdraw(self,v)
     self.jun = self.jun - v
 end
 --下面是代码的调用:
a = Test
a.withdraw(a,10)
用来隐藏self参数
function Test:withdraw(v)
     self.jun = self.jun - v
 end
a = Test
a:withdraw(10)

Lua运算符

1.不等于: ~=   C#的不等于 !=
2.逻辑与,或,非:and   or   not 
3.连接字符串: ..     ‘hello’..‘world’    返回  helloworld
4.#:返回字符串或表的长度,但是返回表的长度时不一定返回的是表里数据的总数(我也不清楚)

Lua字符串

1.字符串格式:“ ”,‘ ’,[[ ]]

Lua数组
我梁说Lua实际上没有数组,本质是个表,我还不太明白

1.Lua数组的索引值是从1开始的,可以指定为0
2.没有固定长度,可以根据需要扩容

Lua迭代器
看不懂,先放着

Lua表

1.创建空表 mytable = {}
2.可以用任何类型的值作为索引,除了nil
3.可以充当字典,数组,环境,模块,对象,类
4._G 全局变量:lua最初创建的全局环境,保存着所有的全局变量,可以通过_G[变量名]存取值
5.创建非空表:e.g. local a = {["x"] = 12, ["mutou"] = 99, [3] = "hello"} 或者 local a = 
{x = 12, mutou = 99, [3] = "hello"}
6.对于字符串下标,我们可以省略方框和双引号,但是数字下标不可以
7.调用方式:a["x"]  或者 a.x(字符串专用)

我是没见过函数也能当数组下标的。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值