Lua-基础(五).和:的区别和联系

Lua-基础(五).和:的区别和联系
fasty在前面我们学习函数时,我们说过函数其实是值,我们可以将函数放在表中。
那么我们是不是可以这么做:
1 | local fasty={a=1} |
在这里,我们创建了一个表fasty,表中默认有a一个元素。然后我们给表创建了两个函数say和say2,这2个函数的作用都是将给与的参数输出。
调用不同
在我们调用这2个方法时,我们应该明确:
- 使用
.声明的方法使用.调用,使用:声明的方法使用:调用 - 假如我们要使用.调用:声明的方法,那我们需要传递一个this指针给函数
- 也就是说: 其实是自动传递一个this指针给函数。
1 | fasty.Say(100) |
self指针
既然,:的形式是自动传递一个self指针给函数,那么就意味着我们可以方便的访问表的元素咯~
1 | function fasty:Say2(arg) |
总结
- 使用:声明函数时,函数会将第一个参数默认传递self指针。
- 如果使用.调用:声明的函数时,需要第一个参数传递self。:调用则不需要
评论
匿名评论隐私政策




