"Kāds ir labākais apvienošanas veids masīvi? "Šis jautājums ir diezgan neskaidrs un var nozīmēt dažas dažādas lietas.
Konkatenācija
Konkatenācija ir vienas lietas papildināšana ar otru. Piemēram, masīvu apvienošana [1,2,3] un [4,5,6] dos jums [1,2,3,4,5,6]. To var izdarīt dažos veidos Rubīns.
Pirmais ir plus operators. Tam pievienos vienu masīvs līdz otra galam, izveidojot trešo masīvu ar abiem elementiem.
Alternatīvi izmantojiet konkāts metode (+ operators un concat metode ir funkcionāli līdzvērtīgas).
Ja veicat daudz šo darbību, ieteicams no tā izvairīties. Objektu izveidošana nav bezmaksas, un katra no šīm operācijām izveido trešo masīvu. Ja vēlaties mainīt masīvu savā vietā, padarot to ilgāku ar jauniem elementiem, varat izmantot operatoru <<. tom izm kaut ko l j ieg negaid rezult>
Gaidītā vietā [1,2,3,4,5,6] masīvs, kuru mēs iegūstam [1,2,3,[4,5,6]]. Tam ir jēga, operatora pievienošana ņem objektu, kuru jūs tam piešķirat, un pievieno to masīva beigām. Nezināja vai neinteresēja, ka jūs mēģinājāt masīvam pievienot citu masīvu. Tātad mēs paši varam to pārdomāt.
Iestatiet operācijas
Pasaules "apvienot" var arī izmantot, lai aprakstītu iestatītās darbības. Krustojuma, savienības un atšķirības pamatkomplektētās darbības ir pieejamas rubīnā. Atcerieties, ka "komplekti" apraksta objektu kopu (vai matemātikā skaitļus), kas ir unikāli šajā komplektā. Piemēram, ja masīvā būtu jāveic iestatīta operācija [1,1,2,3] Rubīns filtrēs šo otro 1, kaut arī iegūtajā komplektā var būt 1. Tāpēc ņemiet vērā, ka šīs iestatītās operācijas atšķiras no saraksta operācijām. Komplekti un saraksti ir principiāli atšķirīgas lietas.
Varat izveidot divu komplektu savienību, izmantojot | operators. Tas ir operators "vai", ja elements atrodas vienā vai otrā komplektā, tas ir iegūtajā komplektā. Tātad rezultāts [1,2,3] | [3,4,5] ir [1,2,3,4,5] (atcerieties, ka, pat ja ir divi trīs, šī ir iestatītā darbība, nevis saraksta darbība).
Divu komplektu krustojums ir vēl viens veids, kā apvienot divus komplektus. Operācijas "vai" vietā divu kopu krustojums ir "un" operācija. Rezultātā iegūtās kopas elementi ir gan komplekti. Un, tā kā tā ir operācija "un", mēs izmantojam & operatoru. Tātad rezultāts [1,2,3] & [3,4,5] ir vienkārši [3].
Visbeidzot, vēl viens veids, kā "apvienot" divus komplektus, ir ņemt to atšķirību. Divu kopu atšķirība ir visu objektu kopa pirmajā komplektā, kas ir nē otrajā setā. Tātad [1,2,3] - [3,4,5] ir [1,2].
Rāvējslēdzējs
Visbeidzot, ir "zipping". Divus blokus var saspiest kopā, apvienojot tos diezgan unikālā veidā. Vislabāk to vispirms parādīt un paskaidrot. Rezultāts [1,2,3] .zip ([3,4,5]) ir [ [1,3], [2,4], [3,5] ]. Kas tad šeit notika? Abi masīvi tika apvienoti, un pirmais elements bija visu elementu saraksts abu masīvu pirmajā pozīcijā. Zipping ir mazliet dīvaina darbība, un jūs, iespējams, to neatradīsit daudz. Tās mērķis ir apvienot divus masīvus, kuru elementi cieši korelē.