d=E9sol=E9 pour le sujet de ce messsage, j'ai d=E9j=E0 mis 20 minutes =E0 l=
e
r=E9diger, car je sais pas comment m'expliquer.. je comprends rien !
je dois =EAtre mal r=E9veill=E9 ce matin... voici mon soucis, en esp=E9rant=
que
vous y comprendrez quelque chose et que vous pourrez m'aider... :
j'ai ces 2 bouts de code qui ne font pas ce que je veux:
<code>
for my $link ( $c->getAllLinks() ) {
my $s =3D new source;=09
$s->addIncomeLink($c->getUrl());
}
</code>
<code:classe source>
.../...
sub addIncomeLink {
my ($class, $sr) =3D @_;
my $fs =3D $source->{"ils"}->[0]->{"f"};
$source->{"ils"}->[0]->{"f"}->[@$fs] =3D $sr;
}
</code:classe source>
en fait, pour chaque =E9l=E9ments de mon tableau ($c->getAllLinks()), il me
cr=E9=E9 une "source". Mais ensuite, quand il fait "addIncomeLink", alors
mon hash $source semble =EAtre global.
Exemple :
pour le premier element de $c->getAllLinks(), le script passe sur
addIncomeLink et $source de mon $s est alors =E9gal =E0 la variable que je
lui ait pass=E9 dans l'appel de addIncomeLink, soit : $c->getUrl() ; la
variable $fs =E9tant vide.
par contre, pour le deuxi=E8me element de $c->getAllLinks(), $fs est =E9gal
=E0 1 ! et ca c'est pas normal selon moi, car je pensais que le "my" dans
la ligne "my $s =3D new source" aurais permis d'avoir des instances de
classe diff=E9rentes...
donc =E0 ce 2=E8me passage, mon hash $source contient d=E9j=E0 le $c->getUr=
l()
du premier passage =3D> et ca j'en veut pas moi...
Voil=E0, vous avez des id=E9es pour mon soucis ? o=F9 ets mon erreur...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Loïc Restoux
Le 22 jui, à 08:38, Newsgroups papotait :
j'ai ces 2 bouts de code qui ne font pas ce que je veux: <code> for my $link ( $c->getAllLinks() ) { my $s = new source; $s->addIncomeLink($c->getUrl()); } </code>
Vous avez copié l'intégralité de votre code ? Parce que, là, je ne vois pas l'utilité de la variable $link...
<code:classe source> .../...
sub addIncomeLink { my ($class, $sr) = @_; my $fs = $source->{"ils"}->[0]->{"f"}; $source->{"ils"}->[0]->{"f"}->[@$fs] = $sr; } </code:classe source>
D'où sort la variable $source ? On ne voit pas sa définition. Si vous avez copié l'intégralité de votre fonction addIncomeLink(), c'est que $source est définie en dehors... donc il y a des chances qu'elle soit globale.
Si c'est l'instance de classe que vous voulez utiliser dans cette fonction, c'est $class qui vous intéresse (le premier argument de la méthode d'une classe est une référence del'instance courante). D'ailleurs, personnellement, je l'appelle plutôt $self, ça me semble plus causant.
Mes deux centimes...
-- No fortunes found
Le 22 jui, à 08:38, Newsgroups papotait :
j'ai ces 2 bouts de code qui ne font pas ce que je veux:
<code>
for my $link ( $c->getAllLinks() ) {
my $s = new source;
$s->addIncomeLink($c->getUrl());
}
</code>
Vous avez copié l'intégralité de votre code ? Parce que, là, je ne vois
pas l'utilité de la variable $link...
<code:classe source>
.../...
sub addIncomeLink {
my ($class, $sr) = @_;
my $fs = $source->{"ils"}->[0]->{"f"};
$source->{"ils"}->[0]->{"f"}->[@$fs] = $sr;
}
</code:classe source>
D'où sort la variable $source ? On ne voit pas sa définition. Si vous
avez copié l'intégralité de votre fonction addIncomeLink(), c'est que
$source est définie en dehors... donc il y a des chances qu'elle soit
globale.
Si c'est l'instance de classe que vous voulez utiliser dans cette
fonction, c'est $class qui vous intéresse (le premier argument de la
méthode d'une classe est une référence del'instance courante). D'ailleurs,
personnellement, je l'appelle plutôt $self, ça me semble plus causant.
j'ai ces 2 bouts de code qui ne font pas ce que je veux: <code> for my $link ( $c->getAllLinks() ) { my $s = new source; $s->addIncomeLink($c->getUrl()); } </code>
Vous avez copié l'intégralité de votre code ? Parce que, là, je ne vois pas l'utilité de la variable $link...
<code:classe source> .../...
sub addIncomeLink { my ($class, $sr) = @_; my $fs = $source->{"ils"}->[0]->{"f"}; $source->{"ils"}->[0]->{"f"}->[@$fs] = $sr; } </code:classe source>
D'où sort la variable $source ? On ne voit pas sa définition. Si vous avez copié l'intégralité de votre fonction addIncomeLink(), c'est que $source est définie en dehors... donc il y a des chances qu'elle soit globale.
Si c'est l'instance de classe que vous voulez utiliser dans cette fonction, c'est $class qui vous intéresse (le premier argument de la méthode d'une classe est une référence del'instance courante). D'ailleurs, personnellement, je l'appelle plutôt $self, ça me semble plus causant.
Mes deux centimes...
-- No fortunes found
Newsgroups
Vous avez copié l'intégralité de votre code ? Parce que, là, je n e vois pas l'utilité de la variable $link...
non, je n'ai pas tout copié, et je m'en sers plus loin de $link
D'où sort la variable $source ? On ne voit pas sa définition. Si vous avez copié l'intégralité de votre fonction addIncomeLink(), c'est q ue $source est définie en dehors... donc il y a des chances qu'elle soit globale.
Si c'est l'instance de classe que vous voulez utiliser dans cette fonction, c'est $class qui vous intéresse (le premier argument de la méthode d'une classe est une référence del'instance courante).
Bon, c'étais bien un problème de définition de la variable, j'ai chan gé juste une petite ligne et ca fonctionne !
D'ailleurs, personnellement, je l'appelle plutôt $self, ça me semble plus causant. Oh, merci, j'en prends note, j'ai déjà commencé à changer mes scrip ts,
ca me parait mieux !
Vous avez copié l'intégralité de votre code ? Parce que, là, je n e vois
pas l'utilité de la variable $link...
non, je n'ai pas tout copié, et je m'en sers plus loin de $link
D'où sort la variable $source ? On ne voit pas sa définition. Si vous
avez copié l'intégralité de votre fonction addIncomeLink(), c'est q ue
$source est définie en dehors... donc il y a des chances qu'elle soit
globale.
Si c'est l'instance de classe que vous voulez utiliser dans cette
fonction, c'est $class qui vous intéresse (le premier argument de la
méthode d'une classe est une référence del'instance courante).
Bon, c'étais bien un problème de définition de la variable, j'ai chan gé
juste une petite ligne et ca fonctionne !
D'ailleurs, personnellement, je l'appelle plutôt $self, ça me semble plus causant.
Oh, merci, j'en prends note, j'ai déjà commencé à changer mes scrip ts,
Vous avez copié l'intégralité de votre code ? Parce que, là, je n e vois pas l'utilité de la variable $link...
non, je n'ai pas tout copié, et je m'en sers plus loin de $link
D'où sort la variable $source ? On ne voit pas sa définition. Si vous avez copié l'intégralité de votre fonction addIncomeLink(), c'est q ue $source est définie en dehors... donc il y a des chances qu'elle soit globale.
Si c'est l'instance de classe que vous voulez utiliser dans cette fonction, c'est $class qui vous intéresse (le premier argument de la méthode d'une classe est une référence del'instance courante).
Bon, c'étais bien un problème de définition de la variable, j'ai chan gé juste une petite ligne et ca fonctionne !
D'ailleurs, personnellement, je l'appelle plutôt $self, ça me semble plus causant. Oh, merci, j'en prends note, j'ai déjà commencé à changer mes scrip ts,