Lua学习
文章平均质量分 52
lua
网络与安全技术探索
从事网络安全业务的大头兵
展开
-
lua 中 . 和 : 的区别
分析:函数调用时用的 . 不会传递self 只传递1 2 3,而ceshi函数声明时用的 : 默认有一个self在第一位去接收,ceshi函数能接收4个参数,即 self a b c ,所以c没有接收参数为nil。分析:调用ceshi函数时用的:默认传递self为第一个参数,但是函数声明的时候用的 . 所以不会有默认隐藏的self去接收,此时传递参数为 self 1 2 3 但是ceshi函数只接收3个参数所以3被抛弃。分析:默认不传递self,默认不接受self。分析:默认传self,默认接受self。转载 2022-11-02 21:42:11 · 1122 阅读 · 0 评论 -
lua中的元表---metatable
而这个理解是完全错误的,实际上,即使将A的元表设置为B,而且B中也确实有这个成员,返回结果仍然会是nil,原因就是B的__index元方法没有赋值。,如果__index方法为nil,则返回nil,如果是一个表(上例中father的__index方法等于自己,就是这种情况),那么就到__index方法所指的这个表中查找名为house的成员,于是,最终找到了house成员。注:__index方法除了可以是一个表,还可以是一个函数,如果是一个函数,__index方法被调用时将返回该函数的返回值。原创 2022-10-31 22:38:37 · 287 阅读 · 0 评论 -
lua中select函数的用法
关于lua的select函数,是可以用于计算参数个数的或者获取指定索引之后的参数;: select(n,…)这个函数返回的是第n个索引后的所有参数;原创 2022-10-31 21:46:58 · 434 阅读 · 0 评论 -
pairs和ipairs的区别
在lua中ipairs 和pairs均可以用来遍历集合,但是两者有区别;同:都是能遍历集合(表、数组),两者均优先按顺序输出没有key的值;异:对于有key的集合:ipairs从第一个数字key开始,依次输出所有的key+1的键值,遇到字母下标并不会结束遍历,只是不输出而已,如果遇到nil则退出;pairs无序输出字母类型key或者数字类型key的键值,遇到nil不输出,但不会停止遍历;例子1:table = { [1] = "test3", [2] = "val1" , [5] = "原创 2022-05-14 14:59:42 · 9092 阅读 · 0 评论