在模块中混合类和实例变量

时间:2017-08-10 17:47:33

标签: crystal-lang

github issue #4820 @TPei开始。

嘿,我只是想知道是否可以在类似ruby的模块中混合类和实例变量,使用self.included(base)hook或类似的东西。有没有任何构造支持这个或者未来有什么计划?

澄清: 在ruby中可以定义一个模块(MyFirstModule),然后在另一个模块(MySecondModule)中执行

def self.included(base)
  base.extend(MyFirstModule)
end

这会导致MyFirstModule中的方法成为MySecondModule中的类方法,从而使我能够在用户包含MySecondModule时添加类和实例方法

1 个答案:

答案 0 :(得分:2)

通过@straight-shoota

回答

这可以使用包含的宏钩子来完成:reference

macro included
  extend MyFirstModule
end
相关问题