class Fruits
def initialize(name, color, variety) #Formales Argument (erstes Argument,Zweites Argument,Drittes Argument)#Die Initialisierungsmethode erfordert keinen neuen Aufruf.
@name = name #Instanzvariablen definieren
@color = color
@variety = variety
end
def name #Getter(Getterメソッド名は、クラス外で出力する際に用いますので、重要です。)
@name #Abrufen des Werts der Instanz
end
def color #Auch Getter
@color
end
def variety
@variety
end
end
class InfoFruits #Ich brauche einen Anruf.
def initialize(fruits) #Definition von Instanzvariablen
@fruits = fruits
end
def fruits #Getter
@fruits #Ruft den Wert einer Instanzvariablen ab#Ein Array von drei tatsächlichen Argumenten.
end
def info_fruits
self.fruits.each do |fruit| #Jede Methode iteriert so oft, wie Elemente im Array vorhanden sind.
#self.Früchte ist eine Reihe von Instanzwerten und drei tatsächlichen Argumenten.
puts "#{fruit.name}Ist#{fruit.color}ist.品種Ist#{fruit.variety}ist." #ゲッターで取得しました値の出力の際Ist**Instanzname.Getter Methodenname**Ich werde es beschreiben als.
end
end
end
array = [{info:{info_fruit_name: "Apfel", info_fruit_color: "rot"}}, #Das Array enthält einen doppelten Hash.
{info:{info_fruit_name: "Banane", info_fruit_color: "Gelb"}},
{info:{info_fruit_name: "Traube", info_fruit_color: "lila"}}]
fruits = []
array.each do |double_hash| #Jede Methode iteriert so oft, wie Elemente im Array vorhanden sind.
fruit_name = double_hash[:info][:info_fruit_name] #Bei doppeltem Hash können Sie den gewünschten Wert erhalten, indem Sie zwei Tasten auswählen.
fruit_color = double_hash[:info][:info_fruit_color]
puts "#{fruit_name}Um welche Art von Produkt handelt es sich?"
double_hash[:info][:info_fruit_variety] = gets.chomp #Durch Angabe eines neuen Schlüssels im Hash ist es möglich, einen neuen Wert hinzuzufügen.
fruit_variety = double_hash[:info][:info_fruit_variety]
if fruit_variety == "Shine Muscat" #Bedingte Verzweigung
fruit_color = "Grün"
end
fruits << Fruits.new(fruit_name, fruit_color, fruit_variety) #Übergeben Sie das eigentliche Argument an die Fruits-Klasse, erstellen Sie eine Instanz, und gleichzeitig verarbeitet die Initialisierungsmethode es, definiert die Instanzvariable und ruft den Wert vom Getter ab.
#Passen Sie die Anzahl der formalen und tatsächlichen Argumente an.#Durch Abrufen des Werts ist es möglich, außerhalb des Bereichs der Klasse auszugeben. Bei der Ausgabe**Instanzname.Getter Methodenname**Ich werde es beschreiben als.
end
info_fruit = InfoFruits.new(fruits) #Übergeben Sie die Array-Früchte mit drei tatsächlichen Argumenten an die InfoFruits-Klasse, erstellen Sie eine Instanz, die Initialisierungsmethode verarbeitet sie, definiert die Instanzvariable und erhält ihren Wert vom Getter.
info_fruit.info_fruits #info_Ein Aufruf der Instanzmethode "Früchte".
#Ausgabeergebnis
Um welche Apfelsorte handelt es sich?
Fuji
Welches ist die Bananensorte?
Riesiger Cavendish
Um welche Art von Traube handelt es sich?
Riesengipfel
Der Apfel ist rot. Die Sorte ist Fuji.
Bananen sind gelb. Die Sorte ist Giant Cavendish.
Die Trauben sind lila. Die Sorte ist Kyoho.
#Ausgabeergebnis
Um welche Apfelsorte handelt es sich?
Fuji
Welches ist die Bananensorte?
Riesiger Cavendish
Um welche Art von Traube handelt es sich?
Shine Muscat
Der Apfel ist rot. Die Sorte ist Fuji.
Bananen sind gelb. Die Sorte ist Giant Cavendish.
Die Trauben sind grün. Die Sorte ist Shine Muscat.
Wir würden uns freuen, wenn Sie auf Fehler oder mangelnde Anerkennung hinweisen könnten.
Recommended Posts