Comment les tableaux sont-ils manipulés en "D"?Comment découper des tableaux en "D"?
2
A
Répondre
4
Here vous pouvez trouver une référence complète des manipulations de tableau dans D.
3
Pour les tableaux tranche, il est une simple question de l'utilisation
int[7] a;
int[] b;
b = a[5..7];
qui fixe b [0] à [5] et b [1] à un [6]. Mais rappelez-vous que ceci est une référence aux éléments dans un, une autre copie d'eux. Si vous changez b [0], cela affecte aussi [5].
Si vous souhaitez copier, vous devez faire:
int[7] a;
int[2] b;
b[0..1] = a[5..7];
C'est parce que b est un tableau statique; dans le premier bloc de code, il était dynamique (en fait un pointeur vers un autre tableau).
3
FYI. Vous pouvez également copier avec:
int[7] a;
int[] b;
b = a[5..7].dup;