1

次の Ruby コードがあります。

class B
  class << self
    protected
    def prot
      puts "victory"
    end
  end
end
class C < B
  def self.met
    C.prot
  end
end

C.met

これは、保護されたクラス メソッドが Ruby で継承されていることを証明しようとしています。問題は、met メソッドを次のようなインスタンス メソッドに変換した場合です。

class B
  class << self
    protected
    def prot
      puts "victory"
    end
  end
end
class C < B
  def met
    C.prot
  end
end

c = C.new
c.met

うまくいきません。多分それはクラスとインスタンスメソッドのスコープに関係していますか?

4

3 に答える 3