Как вызвать переменную функцию с некоторыми параметрами перед переменным параметром, используя hy?
Я пытаюсь написать что-то похожее на:
@classmethod
def write(cls, records, values, *args):
return super(Hello, cls).write(records, values, *args)
Но у меня есть проблемы с передачей *args обратно. Я пытался использовать apply (но не могу передать запись и значения). Я также пытался использовать применить с частичным, но безуспешно.
Текущий не рабочий код в Hylang:
(with-decorator classmethod
(defn write [cls records values &rest args]
(.write (super Hello cls) records values args)
))
В clojure обычно я бы написал:
(apply .write (super Hello cls) records values args)
Но кажется, что применение в hy не поддерживает аргументы до *args.
Как я могу написать оригинальный код Python в Hy?
1 ответ
Я обновил до последней версии Hy
pip install git+https://github.com/hylang/hy.git
В этой последней версии приложение было заменено на #*
apply
был заменен на операторы распаковки в стиле Python#*
а также#**
(например,(f #* args #** kwargs)
)
В новой версии hy код может быть записан как:
(with-decorator classmethod
(defn write [cls records values &rest args]
(.write (super Hello cls) records values #* args)
))