首页
登录 | 注册

Lua语言中的\".\"和\":\"有什么不同?


:是个语法糖,调用的函数会自动传递参数self
即
local a = {x = 0}

function a.foo(self, a)
    self.x = a

end

function a:foo2(a)
    self.x = a
end

--调用时:
a.foo(a, 2)
a.foo2(2)
上述两个操作是等价的,用:时就省去了定义和调用时需要额外添加self用来指代自身的麻烦

相关文章

  • 1. lua具有8种基础类型:nil boolean number string userdata(用户自定义) function thread(线程) table(表) 可以使用 type() 函数 返回其类型,type函数本身返回的数据 ...
  •          lua语言作为苹果iOS系统支持的一种编程语言,同时常见于游戏脚本(比如冰封王座等),也常用与嵌入式系统(OpenWRT堪称经典),但是Lua语言自身却缺少一些实用的,或者说是常用的函数,这里根据经验编写和总结了一些实用函 ...
  • 李哲 - APRIL 28, 2015  return,break,next 这几个关键字的使用都涉及到跳出作用域的问题,而他们的不同 则在于不同的关键字跳出去的目的作用域的不同,因为有代码块则导致有一些地方需要格外注意. return 常 ...
  •       Java对对象和基本的数据类型的处理是不一样的.和C语言一样,当把Java的基本数据类型(如int,char,double等)作为入口参数传给函数体的时候,传入的参数在函数体内部变成了局部变量,这个局部变量是输入参数的一个拷贝, ...
  • 使用python中的字典来模拟其他语言中的case,switch 语句. 使用函数作为字典的value. 看代码很直观. 该代码出自The Python Master一书. def labyrinth(position, alive):   ...
  • 作者:gfree.wind@gmail.com 博客:blog.focus-linux.net   linuxfocus.blog.chinaunix.net  本文的copyleft归gfree.wind@gmail.com所有,使用GP ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号