1

我如何在 Moonscript 中执行此操作?

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

我尝试过的任何东西都无法编译,我在他们的文档中也没有看到任何内容。

4

3 回答 3

2

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

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

所以你会在 MoonScript 中这样做。(注意=>作为添加self到函数参数列表前面的简写)

a.do_something = (b) =>
  print b
于 2014-01-08T08:37:59.883 回答
1

在 MoonScript 中,你会这样做:

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

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

a.dosomething = (b) =>
  print b

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

于 2014-06-05T10:00:15.773 回答
0

您正在寻找的是class.__base

class C
  a: (x)=> print x

C.__base.b = (y)=> @a y*2

i=C!

i\b 5
--prints 10
于 2015-11-29T16:19:03.517 回答