私はRubyでこれをどうやって行うのか、何か不足しているはずです。Rubyのインスタンスメソッドから保護されているクラスメソッドにどのようにアクセスしますか?
「#protectedは」コメント解除されている場合は、私たちが得る:Fooのために呼ばれる保護された方法「ZOOP」: '何で
クラス(NoMethodError)
は、保護されたクラスメソッドにアプローチするより良い方法はありますか?
class Foo
class << self
#protected
def zoop
"zoop"
end
end
public
def what
"it is '#{self.class.zoop}'"
end
protected
end
a = Foo.new
p a.what # => "it is 'zoop'"
私は保護されるべきZOOPまたはプライベート(なし通話「Foo.zoopを」)たいのですが、これまでのところ、私はエレガントな方法を見つけるように見えることはできません。
クラスのインスタンスが他のオブジェクトよりもクラスのシングルトンメソッドへのより密接なアクセスを持つべきであるという前提がありますか? –
確かに。そしてよく言った。 –