Ich werde den Code erklären, der beim Erlernen des Ruby-Algorithmus erstellt wurde.
Ich habe die folgende Technologie in Frage gestellt.
Verwenden Sie zwei Arrays mit jeweils 10 Zahlen. Vergleichen Sie die 1., 1. bis 2. Summe, 3. Summe usw. jedes Arrays. Schreiben Sie Code, um zu zeigen, welcher größer ist.
Zunächst ist alles in Ordnung, bereiten Sie also zwei Arrays vor.
a = [1,2,3,4,5,6,7,8,9,10]
b = [10,2,2,2,2,2,2,2,2,2]
Nächster Erstellen Sie eine Methode, um die Summe der Arrays zu ermitteln. Es gibt verschiedene Methoden, aber hier werden wir die Injektionsmethode verwenden.
def sum(array,n)
sum = array[0,n].inject(:+)
return sum
end
In dem Teil von array [0, n] .inject (: +)
wird die Summe des 1. bis n + 1. des als Argument zugewiesenen Arrays berechnet.
Schließlich wird der obige Prozess für alle Elemente des Arrays ausgeführt und die Größe wird jedes Mal beurteilt.
(1..10).each{|i|
if sum(a,i) > sum(b,i)
puts "#{i}: A ist groß"
elsif sum(a,i) < sum(b,i)
puts "#{i}: B ist groß"
else
puts "#{i}:gleich"
end
}
Die Summe ist wie folgt.
a = [1,2,3,4,5,6,7,8,9,10]
b = [10,2,2,2,2,2,2,2,2,2]
def sum(array,n)
ans = array[0,n].inject(:+)
return ans
end
(1..10).each{|i|
if sum(a,i) > sum(b,i)
puts "#{i}: A ist groß"
elsif sum(a,i) < sum(b,i)
puts "#{i}: B ist groß"
else
puts "#{i}:gleich"
end
}
das ist alles.
Zusätzlich zum Erlernen der Verwendung der Inject-Methode neu in diesem Code, Ich habe festgestellt, dass es möglich ist, die Größe der Methodenrückgabewerte zu vergleichen. Ich möchte auch in Zukunft neues Wissen erwerben und neue Wege beschreiten, das mir bereits bekannte Wissen zu nutzen.
Recommended Posts