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...
Nasıl bir sınıf nesnesi için özel bir ...
Alternatifleri java için.lang.yansıtır...
Neden '' anahtar kelime uzat...
Yöntemi-en iyi yaklaşım, tek sınıf?...