Как это сделать в Moonscript?Moonscript, добавить функцию/метод к объекту?
function a:do_something(b)
print(b)
end
Ничто из того, что я пытался, не скомпилировало, и я ничего не увидел в их документации.
Как это сделать в 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
Использование =>
(Fat стрелки) стиль, как указано выше, добавляет объем, то есть. self
, в список аргументов автоматически.
то, что вы ищете, class.__base
:
class C
a: (x)=> print x
C.__base.b = (y)=> @a y*2
i=C!
i\b 5
--prints 10
FYI: Это появилось в очереди сообщений низкого качества, вероятно, потому что это только код ответа. –