Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 从嵌套类调用父模块方法_Ruby - Fatal编程技术网

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