clone

clone

> Toiminnot

Kopioi parametrina annetun arvon value level tasolta ja palauttaa kopion. Esimerkiksi taulukon tapauksessa clone(array, 1) kopioi taulukon mutta ei sen alkioita, kun taas clone(array, 2) kopioi taulukon ja kaikki sen alkiot.

Parametrit
Paluuarvo
TypeScript

JavaScriptissä ei ole mitään natiivia vastinetta: structuredClone ei ole käytettävissä Leek Warsin moottorissa. Puhtaalle datalle — luvuille, merkkijonoille, taulukoille, yksinkertaisille olioille — JSON.parse(JSON.stringify(value)) riittää, mutta se menettää Map- ja Set-rakenteet, funktiot ja undefined-arvot; muuten kirjoita rekursiivinen kopio. Ennen kaikkea { ...objet } ja [...tableau] kopioivat vain ensimmäisen tason, toisin kuin clone.

Python

Pythonissa copy.deepcopy(value) moduulista copy kopioi syvältä kuten clone, mutta ilman tason käsitettä: kopio on aina täydellinen. copy.copy(value) tekee pinnallisen kopion, jossa alilistat jäävät jaetuiksi alkuperäisen kanssa. Myös pelin API:n oliot (Cell, Leek…) monistuvat, mutta ne ovat pelkkiä vain luettavia kuoria: kopio pysyy alkuperäisen kanssa yhtä suurena (==) ja tarkoittaa samaa taistelun elementtiä.