Méthodes étroitement liées à la classe mais n'utilisant pas les données contenues dans chaque instance
python
nom de classe de classe
def self.Méthode de classe
#Méthodes de classe de traitement
end
end
python
nom de classe de classe
class << self
méthode de classe def
#Méthodes de classe de traitement
end
end
end
Lors de l'appel d'une méthode de classe, procédez comme suit
python
nom de la classe.Nom de la méthode
python
class Food
def initialize(name)
@name = name
end
#self.Si vous ajoutez, cela devient une méthode de classe
def self.create_foods(names)
names.map do |name|
Food.new(name)
end
end
#Méthode d'instance
def eat
"I will eat an #{@name}."
end
end
names = ['apple', 'octopus']
#Appel d'une méthode de classe
foods = Food.create_foods(names)
foods.each do |food|
puts food.eat
end
#=> I will eat an apple.
# I will eat an octopus.
Une introduction à Ruby pour devenir un professionnel
Recommended Posts