Junior
Mis on Ruby's agregatsioonifunktsioon?
sobes.tech AI
Vastus AI-lt
Ruby kogumisefunktsioon rakendub kogumile (näiteks massiiv või sõnastik) ja vähendab selle ühe väärtuseni, kasutades määratletud ühendamise või arvutamise loogikat.
Kogumisefunktsioonide näited:
sum: Arvutab kogumi elementide summa.[1, 2, 3, 4].sum # => 10count: Loendab elementide arvu (või neid, mis vastavad tingimusele).[1, 2, 3, 2].count # => 4 [1, 2, 3, 2].count(2) # => 2 [1, 2, 3, 2].count { |x| x > 1 } # => 3max/min: Leiab maksimaalse/minimaalse elemendi.[1, 5, 2, 8].max # => 8 [1, 5, 2, 8].min # => 1reduce/inject: Kõige paindlikum kogumisefunktsioon, mis rakendab ploki akumulaatorile ja iga kogumi elemendile, tagastades lõpliku akumulaatori väärtuse.# Summa reduce abil [1, 2, 3, 4].reduce(0) { |sum, number| sum + number } # => 10 # Stringide ühendamine ['a', 'b', 'c'].reduce('') { |result, char| result + char } # => "abc"
Põhimõte seisneb selles, et toimub iteratsioon kogumi üle ning järk-järgult ehitatakse või arvutatakse lõplik, ainulaadne tulemus. See võimaldab tõhusalt töödelda andmekogusid ning saada kokkuvõtvaid näitajaid.