2008-10-13 11 views

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; 
Questions connexes