`

lua点与冒号的区别

 
阅读更多
冒号操作会带入一个self参数,用来代表自己。而点号操作,只是内容的展开。
在函数定义时,使用冒号将默认接收一个self参数,而使用点号则需要显式传入self参数。
local A={x=20}
function A:fun1()
    print(self.x)
end


local B={x=20}
function B.fun1(self)
    print(self.x)
end

冒号的操作,只有当变量是类对象时才需要
分享到:
评论

相关推荐

    Lua 5.1 中文参考手册.pdf (入门与提高)

    Lua是一种轻量级的脚本语言,它在设计上支持通用的过程...以上内容便是根据提供的文件信息整理的Lua语言的基础知识点,其涉及了Lua的设计理念、语言特性和基本语法。希望这些信息对于学习和使用Lua语言的用户有所帮助。

    Lua 5.1 manual 笔记

    以上总结了 Lua 5.1 手册中的关键知识点,包括基本数据类型、变量赋值与交换、表达式与运算符、表的索引与长度以及函数调用与方法等内容。这些知识点对于理解和掌握 Lua 编程语言的基础非常关键。

    太阳神三国杀 lua diy 添加提示音

    这里要注意,成员变量的访问使用点操作符".",而非冒号":",因为type是一个成员变量,而不是函数。 通过这些方法,玩家可以自定义太阳神三国杀的游戏逻辑,比如在特定事件发生时播放提示音,或者在武将触发技能时...

    LUA 面向对象设计

    为了简化代码,LUA还支持一种特殊的语法糖,即冒号(`:`)符号,它可以隐式地传递`self`参数: ```lua function Cat:grow() self.age = self.age + 1 end c = Cat c:grow() ``` 这种写法更加简洁,也更符合面向...

    Lua中使用.和:调用函数的区别

    在Lua中,函数是一等公民,既可以通过点(.)操作符调用,也可以通过冒号(:)操作符调用。尽管看起来相似,但这两种调用方式在内部处理上存在着明显的区别,尤其在传递参数给函数的方式上。 首先,点(.)操作符...

    8-lua基础篇-面向对象编程

    obj:method() -- 通过冒号调用,Lua 会自动传入 self 参数 obj.method(obj) -- 通过点号调用,需要显式传递 self 参数 ``` 在 Lua 中,`self` 关键字用于在方法内部引用调用该方法的对象。直接引用表字段可能存在...

    openresty 最佳实践

    - 了解Lua代码的最佳实践,比如使用点号与冒号操作符的区别,以及在调用代码前进行函数定义等。 - 理解OpenResty中的location配置、获取URI参数、获取请求体、输出响应体、日志输出等实践。 5. OpenResty高级特性...

    Lua中函数与面向对象编程的基础知识整理

    - **冒号操作符**:Lua提供了冒号`:`操作符,用于面向对象调用,例如`o:foo(x)`等同于`o.foo(o, x)`,其中`o`通常是对象实例,`foo`是对象的方法。 - **参数匹配**:函数调用时,实参数量可以与形参数量不一致。...

    浅谈Lua的面向对象特性

    在Lua中,访问对象的属性和方法使用点操作符(`.`)和冒号操作符(`:`)。点操作符用于访问属性,如`print(r.length)`;冒号操作符用于调用方法,如`r:printArea()`。 Lua的继承是通过元表机制实现的。子类可以继承父类...

    Lua中的类编程代码实例

    可以使用点操作符(`.`)或冒号操作符(`:`)来调用方法。点操作符直接通过函数名访问,而冒号操作符会自动传递调用方法的对象作为第一个参数(即`self`)。例如: ```lua acc = Account:new() -- 实例化Account类 ...

    lua-properties-parser:解析Java中常用的.properties文件

    通过这个库,开发者可以轻松地读取、操作和保存配置,使得Lua与Java环境之间的数据交互变得更加流畅。无论是小型脚本还是大型项目,`lua-properties-parser`都是处理.properties文件的理想选择。

    Lua教程(十二):面向对象编程

    之后,我们可以通过冒号`:`调用来调用实例的方法,如`a:deposit(100.00)`。这种方式在语法上更简洁,因为`self`参数会自动传递。 3. 继承: 在Lua中,实现继承的方式是通过metatable的`__index`元方法。子类可以将...

    Lua面向对象编程之类的简单实现方式

    总的来说,Lua的面向对象编程虽然与传统OOP语言有所不同,但通过这种方式,依然可以实现类似的功能,满足基本的封装、数据和行为的组织需求。对于初学者或简单的项目,这样的实现方式足够使用,而对于更复杂的项目,...

    Lua面向对象编程之基础结构table简例

    在Lua中,还有一种特殊的语法糖是点语法,它用来调用方法,这时必须明确传递self作为参数。 在上述示例中,`Person`是一个table,它模拟了一个人类对象。它有两个属性:`name`和`age`。还有一个方法`eat`,这个方法...

    OpenResty最佳实践-11091810.pdf

    Lua的表达式、控制结构和函数与传统编程语言类似,但是它独特的语法和操作方式(比如用点号和冒号的区别)使得它在书写上更为简洁、灵活。 函数是Lua中最重要的构造块,它具有参数、返回值、局部变量和作用域等概念...

    《OpenResty最佳实践》 .pdf

    - **模块与包管理**:Lua提供了module()函数和点号与冒号操作符的区别,帮助开发者管理代码模块。 ### OpenResty环境搭建 OpenResty依赖于Nginx,因此在搭建OpenResty环境时,需要安装Nginx。本书介绍了在不同操作...

    XLua教程.docx

    XLua 是一个针对 Unity 开发的高性能 Lua 框架,它允许你在 C# 和 Lua 之间进行无缝交互。这篇教程主要介绍了如何在 C# 中使用 XLua 访问和操作 Lua 文件,以及如何在 Lua 环境中调用 C# 的功能。 一、执行 Lua ...

    png-to-fnt 快速制作 fnt 工具 【BMFont工具】

    " | < > 】可以写成对应的中文【左斜杠、右斜杠、冒号、星号、问号、双引号、竖线、小于、大于、空格】 4、【BMFont.lua】文件前几行可以修改【fnt字体名前缀、字距】 如: local prefix = "fnt_" -- fnt文件名...

    扫描

    在这里,我们主要关注与Lua编程语言相关的"扫描"。Lua是一种轻量级的脚本语言,广泛应用于游戏开发、嵌入式系统、自动化脚本等多个场景。其解析过程包括了"扫描"这个阶段,这是编译器处理源代码的第一步。 "扫描"在...

    Jamsou-Creathor:Server rp discord:https:discord.ggpCu2mdV38J

    5. **编程实践**:通过 Lua 脚本与 Discord API 的交互,开发者可以创建复杂的逻辑和功能,例如动态事件、定时任务或者自定义的游戏规则。 6. **开源与分享**:由于描述中提到 "免费",我们可以推测 "Jamsou-...

Global site tag (gtag.js) - Google Analytics