Moonscript,向对象添加一个函数/方法



如何在Moonscript中执行此操作?

function a:do_something(b)
    print(b)
end

我尝试过的任何内容都不会编译,而且我在他们的文档中没有看到任何内容。

在Lua中,您编写的是以下内容的语法糖:

a.do_something = function(self, b)
  print(b)
end

所以你会在MoonScript中做到这一点。(请注意,=>是将self添加到函数参数列表前面的简写)

a.do_something = (b) =>
  print b

在 MoonScript 中,你可以这样做:

a.dosomething = (self, b) ->
  print b

->=>符号是function关键字的别名。

a.dosomething = (b) =>
  print b

如上所述使用=>(胖箭头)样式,添加范围,即。 self ,自动添加到参数列表中。

您要查找的是class.__base

class C
  a: (x)=> print x
C.__base.b = (y)=> @a y*2
i=C!
ib 5
--prints 10

相关内容

  • 没有找到相关文章

最新更新