Merhaba Özel sınıf yöntemleri olarak yakut yöntemlerini toplu tanımlama için bir yardımcı oluşturmaya çalışıyorum. Genel olarak private_class_method anahtar çalışmasını kullanarak özel bir yöntem olarak bir yöntem tanımlayabilir. Ama şu tarzda bir yardımcı oluşturmak istiyorum:ruby özel sınıf yöntem yardımcısı
class Person
define_private_class_methods do
def method_one
end
def method_two
end
end
end
Dinamik bu hiç çalışmıyor, hangi şu şekilde olduğunu tanımlamak için planlanan yol:
class Object
def self.define_private_class_methods &block
instance_eval do
private
&block
end
end
end
herhangi bir fikir Nerede yanlış gidebilirim?
Bu kafa karıştırıcıdır. Bir sınıfta '# private_class_methods''ı çağırmanın, # private_instance_methods’a benzer şekilde özel sınıf yöntemlerinin bir listesini vermesini beklerdim. Ama bunu bir kenara koyup, neden bunu yapmak istiyorsun? Ruby'nin mekaniğini daha iyi anlamak için mi yoksa genel olarak mı kullanıyorsun? Özel sınıf yöntemlerinin nasıl çalıştığı ve kodumda nasıl kullanılacağının anlaşılması hakkında – ndn
daha fazla bilgi edinin. Adlandırma bozuksa, belki de method_private_class_methods yöntemini yeniden adlandırabiliriz. –