【问题标题】:Module instance methods on later defined class稍后定义的类上的模块实例方法
【发布时间】:2012-06-30 11:35:46
【问题描述】:

我想指出,这完全是一个虚构的问题。我知道还有其他方法可以做到这一点。

我想像这样声明一个模块

module Foo
 # some logic here to
 # get instance method 'foo' on
 # a later defined class
end

然后我想声明一个类:

class Foo::Bar
end

然后不使用包含或扩展就可以做到这一点:

Foo::Bar.new.foo

并让它调用我在模块 Foo 中定义的 foo 方法

【问题讨论】:

  • 你知道我知道,你知道,你应该一开始就听我的:)

标签: ruby


【解决方案1】:
module Foo
 class Bar
   def foo
     puts "erik is a dummy"
     end
   end
 end
Foo::Bar.new.foo
=> erik is a dummy

【讨论】:

  • Erik 和我是 IRL 的朋友...哈哈!
  • 更像是敌人——但我认为他希望类和模块声明是分开的。
猜你喜欢
  • 2013-04-30
  • 1970-01-01
  • 2013-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多