Computerwissenschaften

So kombinieren Sie Arrays in Ruby

„Was ist der beste Weg, um Arrays zu kombinieren ?“ Diese Frage ist ziemlich vage und kann einige verschiedene Dinge bedeuten.

 

Verkettung

Verkettung besteht darin, eine Sache an eine andere anzuhängen. Wenn Sie beispielsweise die Arrays [1,2,3] und [4,5,6] verketten , erhalten Sie [1,2,3,4,5,6] . Dies kann in Ruby auf verschiedene Arten erfolgen .

Der erste ist der Plus-Operator. Dadurch wird ein Array an das Ende eines anderen angehängt und ein drittes Array mit den Elementen beider erstellt.

Alternativ können Sie die concat- Methode verwenden (der Operator + und die concat-Methode sind funktional äquivalent).

Wenn Sie viele dieser Vorgänge ausführen, möchten Sie dies möglicherweise vermeiden. Die Objekterstellung ist nicht kostenlos, und jede dieser Operationen erstellt ein drittes Array. Wenn Sie ein Array an Ort und Stelle ändern möchten, um es mit neuen Elementen zu verlängern, können Sie den Operator << verwenden. Wenn Sie jedoch so etwas versuchen, erhalten Sie ein unerwartetes Ergebnis.

Anstelle des erwarteten [1,2,3,4,5,6] -Arrays erhalten wir [1,2,3, [4,5,6]] . Dies ist sinnvoll. Der Append-Operator nimmt das von Ihnen angegebene Objekt und hängt es an das Ende des Arrays an. Es war nicht wichtig oder egal, dass Sie versucht haben, ein anderes Array an das Array anzuhängen. So können wir es selbst durchlaufen.

 

Operationen einstellen

Der Weltkombinat kann auch verwendet werden, um die eingestellten Operationen zu beschreiben. Die grundlegenden Mengenoperationen für Schnittmenge, Vereinigung und Differenz sind in Ruby verfügbar. Denken Sie daran, dass „Mengen“ eine Menge von Objekten (oder in der Mathematik Zahlen) beschreiben, die in dieser Menge eindeutig sind. Wenn Sie beispielsweise eine Set-Operation für das Array [1,1,2,3] ausführen, filtert Ruby diese zweite 1 heraus, obwohl 1 möglicherweise in der resultierenden Menge enthalten ist. Beachten Sie also, dass sich diese Set-Operationen von Listenoperationen unterscheiden. Sets und Listen sind grundsätzlich verschiedene Dinge.

Sie können die Vereinigung zweier Mengen mit | nehmen Operator. Dies ist der Operator „oder“. Wenn sich ein Element in der einen oder der anderen Menge befindet, befindet es sich in der resultierenden Menge. Also das Ergebnis von [1,2,3] | [3,4,5] ist [1,2,3,4,5] (denken Sie daran, dass dies, obwohl es zwei Dreien gibt, eine gesetzte Operation ist, keine Listenoperation).

Der Schnittpunkt zweier Mengen ist eine weitere Möglichkeit, zwei Mengen zu kombinieren. Anstelle einer „oder“ -Operation ist der Schnittpunkt zweier Mengen eine „und“ -Operation. Die Elemente der resultierenden Menge sind die in beiden Mengen. Und als „und“ -Operation verwenden wir den Operator &. Das Ergebnis von [1,2,3] & [3,4,5] ist also einfach [3] .

Schließlich besteht eine andere Möglichkeit, zwei Sätze zu „kombinieren“, darin, ihren Unterschied zu nehmen. Der Unterschied zwischen zwei Sätzen ist der Satz aller Objekte im ersten Satz, der nicht im zweiten Satz enthalten ist. So [1,2,3] – [3,4,5] ist [1,2] .

 

Reißverschluss

Schließlich gibt es „Reißverschluss“. Zwei Arrays können zusammen gezippt werden, um sie auf einzigartige Weise zu kombinieren. Es ist am besten, es zuerst zu zeigen und danach zu erklären. Das Ergebnis von [1,2,3] .zip ([3,4,5]) ist [[1,3], [2,4], [3,5]] . Was ist hier passiert? Die beiden Arrays wurden kombiniert, wobei das erste Element eine Liste aller Elemente an der ersten Position beider Arrays ist. Das Zippen ist eine etwas seltsame Operation, und Sie werden möglicherweise nicht viel Verwendung dafür finden. Sein Zweck ist es, zwei Arrays zu kombinieren, deren Elemente eng miteinander korrelieren.

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.