Ruby 从嵌套类调用父模块方法
我很难理解如何从类中的父模块调用方法 我想从嵌套类中的父模块调用模块函数,但似乎找不到方法 例如:Ruby 从嵌套类调用父模块方法,ruby,Ruby,我很难理解如何从类中的父模块调用方法 我想从嵌套类中的父模块调用模块函数,但似乎找不到方法 例如: module Awesome class Checker def awesome? awesome_detection end end module_function def awesome_detection true end end 如果我调用Awesome::Checker.new.Awesome?,它将不知道Awesome\u检
module Awesome
class Checker
def awesome?
awesome_detection
end
end
module_function
def awesome_detection
true
end
end
如果我调用Awesome::Checker.new.Awesome?
,它将不知道Awesome\u检测
关于我遗漏了什么,有什么想法吗?刚刚记起来-我意识到我可以在checker中加入Awesome,但如果我在Awesome中有多个类,我想知道另一种方法。原始问题中的
模块功能更好。修复def awesome?
调用awesome.awesome\u检测
就足够了。调用awesome.awsome…
内部模块awesome
似乎是多余的,不是吗?
#!/usr/bin/env ruby -wKU
module Awesome
class Checker
def awesome?
Awesome.awesome_detection
end
end
def self.awesome_detection
puts "yes"
end
end
Awesome::Checker.new.awesome?
# => yes