【发布时间】:2015-03-09 18:43:05
【问题描述】:
希望有人可以帮助我解决这个问题。我正在将一些 python 代码移植到 hy,并试图弄清楚如何使用 doto 宏删除一些重复的代码。例如,看一个这样的python类:
class Foo(object):
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
如何在 hy 中将其转换为使用 doto?
(defclass Foo [object]
[[__init__ (fn [self x y z]
(doto self ;
(setv ...) ; What goes here?
))]])
问题是你通常会做这样的事情:
(defclass Foo [object]
[[__init__ (fn [self x y z]
(setv self.x x)
(setv self.y y)
(setv self.z z))]])
我看不到在 self 上使用 (doto) 的方法。
【问题讨论】:
标签: hy