clone

clone

> Fonctions

Copie la valeur value passée en paramètre sur level niveaux et retourne la copie. Dans le cas d'un tableau par exemple, un clone(tableau, 1) copiera le tableau mais pas ses éléments, un clone(tableau, 2) copiera le tableau ainsi que tous les éléments.

Paramètres
Retour
TypeScript

En JavaScript, il n'y a pas d'équivalent natif : structuredClone n'est pas disponible dans le moteur de Leek Wars. Pour des données pures — nombres, chaînes, tableaux, objets simples — JSON.parse(JSON.stringify(value)) fait l'affaire, mais il perd les Map, les Set, les fonctions et les undefined ; sinon, écrivez une copie récursive. Surtout, { ...objet } et [...tableau] ne copient que le premier niveau, contrairement à clone.

Python

En Python, copy.deepcopy(value), du module copy, copie en profondeur comme clone, mais sans notion de niveau : la copie est toujours complète. copy.copy(value) fait une copie de surface, où les sous-listes restent partagées avec l'original. Les objets de l'API de jeu (Cell, Leek…) sont dupliqués eux aussi, mais ce sont de simples enveloppes en lecture seule : la copie reste égale à l'original (==) et désigne le même élément du combat.