我正在尝试写类似的东西:
@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之前的参数。
如何在hy?
中编写原始python代码答案 0 :(得分:0)
我更新到hy
的最新版本pip install git+https://github.com/hylang/hy.git
在此最新版本中,apply已替换为#*
apply
已被Python样式的解包操作符#*
替换#**
(例如(f #* args #** kwargs)
)
在新版本的hy上,代码可以写成:
(with-decorator classmethod
(defn write [cls records values &rest args]
(.write (super Hello cls) records values #* args)
))