5
Yuvalanmış bir ad alanının kök sınıfını/modülünü bulmaya çalışıyorum.Yuvalanmış ad alanına yansıtma
Bunu bulmanın en etkili yolu bu mu? Bundan hoşlanmıyorum bir dizeye dönüştürüyorum. Daha zarif bir çözüm olmalı gibi görünüyor.
class Foo
class Bar
def parent
Object.const_get self.class.to_s.split(/::/).first
end
end
end
Foo::Bar.new.parent #=> Foo
Harika yoktur. –
@sawa neden aşağıdaki çalışmıyor? Foo :: Bar :: Baz.class_eval {Module.nesting} # => [] 'veya' Foo :: Bar :: Baz.module_eval {Module.nesting} # => [] 've' Foo :: Bar. instance_eval {Module.nesting} # => [] ' – rudolph9
@ rudolph9 'Yuvalama' yöntemi, ortam ortamının önemli olduğu '__dir__',' binding 'gibi birkaç yöntemden biridir. Genellikle eşdeğer olsalar bile diğer yapılarla değiştiremezsiniz. – sawa