[Perl] appel par adresse
Olivier Mengué
olivier.mengue at gmail.com
Jeu 27 Juil 10:19:17 CEST 2017
Le 26 juillet 2017 à 19:46, Patrick Dupre <pdupre at gmx.com> a écrit :
> Bonsoir,
>
> Je peux faire cela
> my $ptr = $band_mol -> {H_L} ;
$HL_factor = &$ptr ($J_low, 0, 1, $PQR) ;
>
$ptr contient donc une sub, n'est-ce pas ?
La ligne que tu écris est correcte. Mais la syntaxe générale d'appel
indirect à une sub via une variable est celle-ci :
$HL_factor = $ptr->($J_low, 0, 1, $PQR);
> mais pas cela
>
> $HL_factor = &$band_mol -> {H_L} ($J_low, 0, 1, $PQR) ;
>
Il faut écrire :
$HL_factor = $band_mol->{H_L}->($J_low, 0, 1, $PQR);
Le principe général est que le déréférencement de chaque niveau de
référence nécessite d'écrire une flèche (->).
>
> Pourquoi ?
>
> Merci.
>
> ============================================================
> ===============
> Patrick DUPRÉ | | email: pdupre at gmx.com
> Laboratoire de Physico-Chimie de l'Atmosphère | |
> Université du Littoral-Côte d'Opale | |
> Tel. (33)-(0)3 28 23 76 12 | | Fax: 03 28 65 82 44
> 189A, avenue Maurice Schumann | | 59140 Dunkerque, France
> ============================================================
> ===============
> _______________________________________________
> Perl mailing list
> Perl at mongueurs.net
> http://listes.mongueurs.net/mailman/listinfo/perl
>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://listes.mongueurs.net/mailman/private/perl/attachments/20170727/edbeab3c/attachment.html>
Plus d'informations sur la liste de diffusion Perl