[RUBY] La valeur est extraite du double hachage et sortie par le getter.

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

La valeur est extraite du double hachage et sortie par le getter.
Extrait la valeur de HashMap et renvoie le résultat trié par valeur de valeur sous forme de liste.
Sortie de la valeur maximale d'un tableau à l'aide de la sortie standard Java
[Rails] [jQuery] Empêche le bouton d'envoi d'être enfoncé jusqu'à ce que le formulaire soit rempli et sélectionné.
Comment afficher la valeur lorsqu'il y a un tableau dans le tableau
Créez un calendrier à partir de la classe Calendar en spécifiant l'année et le mois