ich einige Zeit damit verbracht, einen Weg finden grundlegende Operationen für jedes Element in einem Array wie Summe, rund, etc. zu tunWie Rundung in der Arrays
Ich habe keine integrierte Möglichkeit zu sehen Um dies zu tun, habe ich versucht, mein eigenes zu erstellen, nachdem ich "Generic 'sum' And 'mean' Methods For Ruby Arrays" gefunden habe.
Kann jemand erklären, warum meine round
Methode nicht funktioniert?
class Array
def sum
inject(nil) { |sum, x| sum ? sum + x : x }
end
def mean
sum/size
end
def round(p)
inject(nil) { |x| (x * 10^(p-1)).floor/10^(p - 1) }
end
end
puts [1.1234, 1.45656, 1.546567, 1.4577887].mean
puts [1.1234, 1.45656, 1.546567, 1.4577887].round(6)
Die Antworten sind Ur- keine Ahnung, warum das nicht Standard-Ruby-Funktionalität ist? Ist es nicht im "Rubin-Stil" oder so? – Rilcon42
Dies ist keine Standard-Ruby-Funktionalität, da "Array" als Element-Typ-Agnostiker gedacht ist. Wie würdest du definieren? [4, 'Hallo', nil, User.new (: admin)]. Sum'? – mudasobwa
Ich schätze den Greenie, aber Sie könnten erwägen länger zu warten, bevor Sie eine Auswahl treffen (sagen wir, mindestens ein paar Stunden). Eine schnelle Auswahl kann andere Antworten entmutigen und möglicherweise diejenigen, die noch Antworten vorbereiten, kurzschließen. –