How can a nested class access a method in the outer class in Ruby?

后端 未结 7 2029
-上瘾入骨i
-上瘾入骨i 2021-02-12 13:58
def class A
  def a
    raise \"hi\" #can\'t be reached
  end

  class B
    def b
      a() #doesn\'t find method a.
    end
  end
end

I want to invok

7条回答
  •  温柔的废话
    2021-02-12 14:10

    Was a supposed to be a class method for class A?

    class A
      def self.a
        raise "hi"
      end
      class B
        def b
          A::a 
        end
      end
    end
    
    A::B.new.b
    

    If you want to keep it as an instance method, you'll obviously have call to it on an instance, like for example A.new.a.

提交回复
热议问题