10 ŞUBAT 2011, PERŞEMBE
özel bir sınıf oluşturma yöntemi
Bu nasıl çalışır: özel sınıf bir yöntem oluşturma yaklaşımı gelir
class Person
def self.get_name
persons_name
end
class << self
private
def persons_name
"Sam"
end
end
end
puts "Hey, " Person.get_name
puts "Hey, " Person.persons_name #=> raises "private method `persons_name' called for Person:Class (NoMethodError)"
ama bu değil
class Person
def self.get_name
persons_name
end
private
def self.persons_name
"Sam"
end
end
puts "Hey, " Person.get_name
puts "Hey, " Person.persons_name
CEVAP
10 ŞUBAT 2011, PERŞEMBE
private
eğer açık bir nesne üzerinde bir yöntem (sizin durumunuzda self
) tanımlıyorsanız çalışmak için görünmüyor. private_class_method
özel olarak sınıf yöntemleri (ya da tarif ettiğin gibi) tanımlamak için kullanabilirsiniz.
class Person
def self.get_name
persons_name
end
def self.persons_name
"Sam"
end
private_class_method :persons_name
end
puts "Hey, " Person.get_name
puts "Hey, " Person.persons_name
Bunu Paylaş:
Neden iç sınıf özel final yöntemi geçe...
log4j: belirli bir appender için özel ...
özel adaptörü getView yöntemi, birden ...
Nasıl bir elementin özel bir sınıf var...
Nasıl yansıma özel bir yöntemi çağırma...