Moonscript, добавить функцию / метод к объекту?
Как мне сделать это в Moonscript?
function a:do_something(b)
print(b)
end
Ничто из того, что я пробовал, не скомпилировалось, и я ничего не увидел в их документации.
3 ответа
В 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!
i\b 5
--prints 10