Kezdőoldal » Számítástechnika » Programozás » Ruby: Hogyan tavolithatom el...

Ruby: Hogyan tavolithatom el az egyforma ertekek, ugy hogy a tobb dimenzios array alarray-ai megmaradjanak?

Figyelt kérdés

Van negy array-om

a = [1,2,3,4] b = [2,3,4,5] c = [3,4,5,6] d = [4,5,6,7]

newarray = [[1,2,3,4][2,3,4,5][3,4,5,6][4,5,6,7]]

es ezt szeretnem kapni: newarraynoduplicates = [[1,2,3,4], [5], [6], [7]]


megprobaltam a kovetkezoket:

[a|b|c|d] => [[1, 2, 3, 4, 5, 6, 7]]

[a|b|c|d] => [1, 2, 3, 4, 5, 6, 7]

newarray.uniq! => nil!


Valakinek van otlete?



2019. jún. 3. 16:55
 1/2 anonim ***** válasza:

A | operátor az unió:

* [link]

* [link]

így az összes - nem duplikálódó - elemet egy tömbben kapod vissza.


Mivel [1,2,3,4] != [2,3,4,5] != [3,4,5,6] != [4,5,6,7], így nincs duplikáció, tehát az uniq! visszatérő értéke nil lesz:

* [link]


Neked a különbség (-) operátorra lesz szükséged:

[a, b - a, c - b - a, d - c -b - a]

2019. jún. 3. 22:05
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:

No fene, ezt ki is hagytam.

Koszi a segitseget.

Mashonnan kaptam tippeket, de ez a legegyszerubb szamomra egyenlore.


Ha lenne mondjuk 1000 sub array-om akkor nem a legelegansabb, de mint irtam ez tokeletesen megfelel nekem!

2019. jún. 4. 14:48

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!