Ich kenne den || = Operator, denke aber nicht, dass es mir hier helfen wird ... ich versuche ein Array zu erstellen, das die Anzahl der "Typen" in einem Array von Objekten zählt.
%Vor%Gibt es einen eleganteren Weg, dies zu tun?
Verwenden Sie die Methode Array#fetch
, für die Sie einen Standardwert angeben können, wenn der Index nicht existiert:
Ihre Variable newarray
wird seltsamerweise benannt, da in Ruby und den meisten anderen Sprachen Arrays durch Ganzzahlen indiziert werden, nicht zufällige Objekte wie Class
. Es ist eher ein Hash
.
Außerdem sollten Sie c.class
anstelle von c.type
verwenden, was veraltet ist.
Schließlich, da Sie ein Hash
erstellen, können Sie inject
so verwenden:
Oder für einen Einzeiler:
%Vor%Wie Sie sehen, gibt dies die gewünschten Ergebnisse:
%Vor%