在模块中混合 class 和实例变量
Mix class and instance variables in module
来自 github issue #4820 by @TPei.
嘿,我只是想知道是否可以通过使用 self.included(base) 挂钩或其他方式在模块中混合 class 和实例变量,如 ruby相似的。是否有支持此功能的结构或未来有任何计划?
澄清一下:
在 ruby 中可以定义一个模块 (MyFirstModule),然后在另一个模块 (MySecondModule) 中执行
def self.included(base)
base.extend(MyFirstModule)
end
这会导致 MyFirstModule 中的方法成为 MySecondModule 中的 class 方法,从而使我能够在用户包含 MySecondModule
时添加 class 和实例方法
这可以通过包含的宏挂钩来完成:reference
macro included
extend MyFirstModule
end
来自 github issue #4820 by @TPei.
嘿,我只是想知道是否可以通过使用 self.included(base) 挂钩或其他方式在模块中混合 class 和实例变量,如 ruby相似的。是否有支持此功能的结构或未来有任何计划?
澄清一下: 在 ruby 中可以定义一个模块 (MyFirstModule),然后在另一个模块 (MySecondModule) 中执行
def self.included(base)
base.extend(MyFirstModule)
end
这会导致 MyFirstModule 中的方法成为 MySecondModule 中的 class 方法,从而使我能够在用户包含 MySecondModule
时添加 class 和实例方法这可以通过包含的宏挂钩来完成:reference
macro included
extend MyFirstModule
end