Lua中如何声明一个名为function的方法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计387个文字,预计阅读时间需要2分钟。
这两种声明方式在性能上有区别。`local object=new Object()` 在某些编程语言中是直接在本地创建对象,而 `object: method(params)` 则可能涉及到面向对象编程的类定义。
1. `local object=new Object()`:这种方式通常直接创建一个对象实例,执行速度快,因为没有类定义的解析过程。
2.`object: method(params)`:这种方式可能涉及到定义一个类和创建该类的实例,如果代码没有编译,则性能为零。
方法声明只是方法定义的另一种说法。
local object = newObject() function object:method(params) end local object:method = function(params) end 是,有一点不同.第二个不编译.所以它的性能为零;)
“方法声明”只是Lua中的语法糖.这些是相同的:
function object.func(self, param) end function object:func(param) end
但是,只有在将函数命名为函数声明的一部分时,该糖才有效.
用于访问Lua中的“方法”的’:’语法仅适用于访问存储在表中的函数,这些函数由字符串键命名.您无法使用此语法来设置表的值.
或者,换句话说,没有其他方法可以做到这一点:
function object:func(param) end
没有明确指定’self’参数作为第一个参数.
本文共计387个文字,预计阅读时间需要2分钟。
这两种声明方式在性能上有区别。`local object=new Object()` 在某些编程语言中是直接在本地创建对象,而 `object: method(params)` 则可能涉及到面向对象编程的类定义。
1. `local object=new Object()`:这种方式通常直接创建一个对象实例,执行速度快,因为没有类定义的解析过程。
2.`object: method(params)`:这种方式可能涉及到定义一个类和创建该类的实例,如果代码没有编译,则性能为零。
方法声明只是方法定义的另一种说法。
local object = newObject() function object:method(params) end local object:method = function(params) end 是,有一点不同.第二个不编译.所以它的性能为零;)
“方法声明”只是Lua中的语法糖.这些是相同的:
function object.func(self, param) end function object:func(param) end
但是,只有在将函数命名为函数声明的一部分时,该糖才有效.
用于访问Lua中的“方法”的’:’语法仅适用于访问存储在表中的函数,这些函数由字符串键命名.您无法使用此语法来设置表的值.
或者,换句话说,没有其他方法可以做到这一点:
function object:func(param) end
没有明确指定’self’参数作为第一个参数.

