563 Stimmen

Wie kann man in Ruby ein Array zu einem anderen Array hinzufügen, ohne dass das Ergebnis mehrdimensional ist?

Ich habe es versucht:

somearray = ["some", "thing"]
anotherarray = ["another", "thing"]
somearray.push(anotherarray.flatten!)

Ich erwartete

["some", "thing", "another", "thing"]

aber bekam

["some", "thing", nil]

5voto

AustintheCleric Punkte 359
a = ['a', 'b']
b = ['c', 'd']
arr = [a, b].flatten

Dadurch werden keine Vertiefungen entfernt, aber

a|b

Entfernt Nachttöpfe.

4voto

Lyle Dickie Punkte 41

Somearray = ["some", "thing"]

anotherarray = ["another", "thing"]

einArray + ein anderesArray

3voto

nas Punkte 3676

Ich finde es einfacher zu schieben oder anhängen Arrays und dann glätten sie an Ort und Stelle, wie so:

somearray = ["some", "thing"]
anotherarray = ["another", "thing"]
somearray.push anotherarray # => ["some", "thing", ["another", "thing"]]
#or
somearray << anotherarray # => ["some", "thing", ["another", "thing"]]
somearray.flatten!  # => ["some", "thing", "another", "thing"]
somearray # => ["some", "thing", "another", "thing"]

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X