class Fruits
def initialize(name, color, variety) #Argument formel (premier argument,Deuxième argument,Troisième argument)#La méthode initialize ne nécessite pas de nouvel appel.
@name = name #Définir des variables d'instance
@color = color
@variety = variety
end
def name #Getter(Getterメソッド名は、クラス外で出力する際に用いますので、重要です。)
@name #Obtenir la valeur de l'instance
end
def color #Aussi getter
@color
end
def variety
@variety
end
end
class InfoFruits #J'ai besoin d'un appel.
def initialize(fruits) #Définition des variables d'instance
@fruits = fruits
end
def fruits #Getter
@fruits #Obtenir la valeur d'une variable d'instance#Un tableau de trois arguments réels.
end
def info_fruits
self.fruits.each do |fruit| #Chaque méthode itère autant de fois qu'il y a d'éléments dans le tableau.
#self.fruits est un tableau de valeurs d'instance et de trois arguments réels.
puts "#{fruit.name}Est#{fruit.color}est.品種Est#{fruit.variety}est." #ゲッターで取得しました値の出力の際Est**Nom de l'instance.Nom de la méthode Getter**Je vais le décrire comme.
end
end
end
array = [{info:{info_fruit_name: "pomme", info_fruit_color: "rouge"}}, #Le tableau contient un double hachage.
{info:{info_fruit_name: "banane", info_fruit_color: "Jaune"}},
{info:{info_fruit_name: "Grain de raisin", info_fruit_color: "violet"}}]
fruits = []
array.each do |double_hash| #Chaque méthode itère autant de fois qu'il y a d'éléments dans le tableau.
fruit_name = double_hash[:info][:info_fruit_name] #Dans le cas d'un double hachage, vous pouvez obtenir la valeur souhaitée en sélectionnant deux clés.
fruit_color = double_hash[:info][:info_fruit_color]
puts "#{fruit_name}De quel type de produit s'agit-il?"
double_hash[:info][:info_fruit_variety] = gets.chomp #En spécifiant une nouvelle clé dans le hachage, il est possible d'ajouter une nouvelle valeur.
fruit_variety = double_hash[:info][:info_fruit_variety]
if fruit_variety == "Shine Muscat" #Branche conditionnelle
fruit_color = "vert"
end
fruits << Fruits.new(fruit_name, fruit_color, fruit_variety) #Passez l'argument réel à la classe Fruits, créez une instance, et en même temps, la méthode initialize le traite pour définir la variable d'instance, et le getter obtient sa valeur.
#Faites correspondre le nombre d'arguments formels et réels.#En obtenant la valeur, il est possible de sortir en dehors de la portée de la classe. Lors de la sortie**Nom de l'instance.Nom de la méthode Getter**Je vais le décrire comme.
end
info_fruit = InfoFruits.new(fruits) #Passez le tableau fruits avec trois arguments réels à la classe InfoFruits, créez une instance, la méthode initialize la traite, définit la variable d'instance et obtient sa valeur par le getter.
info_fruit.info_fruits #info_Un appel à la méthode d'instance fruits.
#Résultat de sortie
De quel genre de pomme s'agit-il?
Fuji
Quelle est la variété de banane?
Cavendish géant
De quel type de raisin s'agit-il?
Pic géant
La pomme est rouge. La variété est Fuji.
Les bananes sont jaunes. La variété est Giant Cavendish.
Les raisins sont violets. La variété est Kyoho.
#Résultat de sortie
De quel genre de pomme s'agit-il?
Fuji
Quelle est la variété de banane?
Cavendish géant
De quel type de raisin s'agit-il?
Shine Muscat
La pomme est rouge. La variété est Fuji.
Les bananes sont jaunes. La variété est Giant Cavendish.
Les raisins sont verts. La variété est Shine Muscat.
Nous vous serions reconnaissants de bien vouloir signaler toute erreur ou manque de reconnaissance.
Recommended Posts