Outils pour utilisateurs

Outils du site


fr:perl:perlarrow

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
fr:perl:perlarrow [2021/07/12 20:19] – ↷ Page moved from fr:perl:perlarrow to en:perl:perlarrow Bruno Manzonifr:perl:perlarrow [2024/05/11 16:21] (Version actuelle) – créée adminw1k1
Ligne 1: Ligne 1:
 +====== Notation fléchée ======
 +
 +===== Équivalence : =====
 +
 +<code>
 +$array[$x]->{"foo"}->[0] = "January";
 +$array[$x]{"foo"}[0] = "January";
 +mais
 +$array->[$x]{"foo"}[0] = "January"; (INCORRECT, car le tableau n'est pas une référence)
 +</code>
 +===== Déréférencement =====
 +<code>
 +${$arrayref}[0]      ${$arrayref}->[0]      $arrayref->[0]    = "January";  
 +${$hashref}{"KEY" =  ${$hashref}->{"KEY" =  $hashref->{"KEY"} = "VALEUR";
 +
 +${$coderef}(1,2,3)  = ${$coderef}->(1,2,3)  =  $coderef->(1,2,3)     Appel de sous-programme ou objet de méthode 
 +
 +
 +${$aref}[3]   $aref->[3] à la place.
 +${$href}{red} $href->{red}
 +</code>
 +===== Règle n°3 : remplacer ${ } par -> =====
 +
 +<code>
 +Pour les scalaires uniquement, recommandé
 +Comparer
 +                    ${$aref} [3]
 +                      $aref->[3]
 +
 +                    ${$href} {red}
 +                      $href->{red}
 +
 +remplacer             ${     }
 +par                         ->
 +
 +Comme nous pouvons le voir, cela ne fonctionne qu'avec le déréférencement scalaire @array = @{$array_ref}
 +
 +$objref   = new Doggie( Tail => 'short', Ears => 'long' );
 +$objref   = Doggie->new( Tail => 'short', Ears => 'long' ); (recommandé)
 +
 +</code>