我正在尝试使用Hy,这是一种基于Python构建的Lisp方言。
我尝试过运行以下内容,但正如预期的那样,我得到了AttributeError: Cannot overwrite NamedTuple attribute __init__
。
(defclass Key [NamedTuple]
;; Simple container for holding keywords
(defn --init-- [self KEY IDX END]
(setv self.KEY KEY)
(setv self.IDX IDX)
(setv self.END END)))
另一方面,我不知道在类中定义字段变量使用哪种语法。我尝试了以下内容,但它引发了NameError: name 'KEY' is not defined
。
(defclass Key [NamedTuple]
(setv self.KEY KEY)
(setv self.IDX IDX)
(setv self.END END))
那么我究竟如何在Lispy / Python类中设置字段变量呢?