Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6464[/thread]

Parameter Fixieren

Leser: 1


<< |< 1 2 >| >> 18 Einträge, 2 Seiten
FtR
 2004-08-05 13:38
#85411 #85411
User since
2003-08-20
39 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    foreach $l ("Address","Ordinal","Name") {                                   

$header[$i] = $hlist->ResizeButton(
-text => "$l",
-relief => 'flat', -pady => 0,
-command => sub { print " Hallo ".$l." world!\n";}, ######### <- darum gehts
-widget => \$hlist,
-column => $i
);
$hlist->header('create', $i,
-itemtype => 'window',
-widget => $header[$i],
-style=>$headerstyle
);
$i++;
}


Hi @ all wie man an dem code sehen kann erzeuge ich eine anonyme referenz auf eine "sub" die später im prog ausgeführt wird.
nun hab ich das Problem das ich den wert von $l hier nicht fixieren kann. Soll heißen das ich hier n subs erzeuge und $l für jede mit einem anderen wert belegt haben will.
zZ wird $l erst zur lauf zeit der sub interpretiert dann existiert aber der Kontext nicht mehr und $l ist leer bzw "bulls..t".
hat wer ne idee wie ich die sub so erstellen kann das der paramerter fixiert wird.


FtR
Code: ()
1
2
print&f(($_=(3x3)."3+33")=~s=3(?![^3]|$)=&f=eg);
sub f{eval(@_?$_:"'$&+'x3");}
sri
 2004-08-05 13:41
#85412 #85412
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
kabel
 2004-08-05 13:49
#85413 #85413
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
erzeuge in dem foreach mittels my eine lexikalische variable.diese wuerde am ende des foreach-blockes nicht mehr existieren (da der sog. referenzzaehler an dieser stelle dekrementiert wird, und wenn er 0 ist, ist die variable nicht mehr ansprechbar). wenn du sie aber in der sub referenzierst (also benutzt, nicht im sinne einer perl referenz), dann bleibt sie erhalten, solange die sub ansprechbar ist.
-- stefan
FtR
 2004-08-05 13:52
#85414 #85414
User since
2003-08-20
39 Artikel
BenutzerIn
[default_avatar]
was ich erreichen will ist das in der zeile effektiv


-command => sub {  print " Hallo "."Address"."  world!\n";},
-command => sub {   print " Hallo "."Ordinal"."  world!\n";},
-command => sub {   print " Hallo "."Name"."  world!\n";}

steht je nach durchlauf
und zwar ohne das zur Laufzeit der sub in $l nachgeschaut werden muss

FtR

Edit by Erik: Anstößiger Inhalt gegen sri gelöscht.\n\n

<!--EDIT|[E|B]|1091699941-->
Code: ()
1
2
print&f(($_=(3x3)."3+33")=~s=3(?![^3]|$)=&f=eg);
sub f{eval(@_?$_:"'$&+'x3");}
FtR
 2004-08-05 13:55
#85415 #85415
User since
2003-08-20
39 Artikel
BenutzerIn
[default_avatar]
THX Kabel
Code: ()
1
2
print&f(($_=(3x3)."3+33")=~s=3(?![^3]|$)=&f=eg);
sub f{eval(@_?$_:"'$&+'x3");}
[E|B]
 2004-08-05 14:00
#85416 #85416
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
@FtR

Willkommen auf Perl-Comunity.de!
Bist du der FtR aus dem alten perl.de?
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
sri
 2004-08-05 14:01
#85417 #85417
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
Argl, ich habe $| (Dollar Pipe) gelesen. :)
Sieht hier genauso aus wie $l (Dollar L)...
Schliesse mich jetzt natürlich kabel an.
FtR
 2004-08-05 14:02
#85418 #85418
User since
2003-08-20
39 Artikel
BenutzerIn
[default_avatar]
[E|B
,05.08.2004, 12:00]Bist du der FtR aus dem alten perl.de?

Ja bin ich und mal wieder ne woche zeit fuer perl
Code: ()
1
2
print&f(($_=(3x3)."3+33")=~s=3(?![^3]|$)=&f=eg);
sub f{eval(@_?$_:"'$&+'x3");}
FtR
 2004-08-05 14:16
#85419 #85419
User since
2003-08-20
39 Artikel
BenutzerIn
[default_avatar]
[quote=FtR,05.08.2004, 11:52]by Erik: Anstößiger Inhalt gegen sri gelöscht.[/quote]
Es sei darauf hingewiesen, das antworten bestehend aus einer zeile ala

perdoc -f xxx


in sich anstössig und zu 99% nuztlos sind, wenn diese nicht kommentiert werden und auf den entsprechenden teil der doch der für das jeweilge problem hilfreich sein soll hingewiesen wird.
das war die stärke des ALTEN perl.de und auch der grund warum ich nach langer zeit hilfe suchen hierher zurückgekehrt bin.
daher werde ich mir das recht herhaus nehmen jemanden der einen derartigen artiekel verfasst immer eine Pflaume zu nennen.

und btw es gibt durchaus härtere worte die hier jedoch unpassen wären Pflaume gehört meiner meinung nach nicht dazu.


FtR\n\n

<!--EDIT|FtR|1091701257-->
Code: ()
1
2
print&f(($_=(3x3)."3+33")=~s=3(?![^3]|$)=&f=eg);
sub f{eval(@_?$_:"'$&+'x3");}
sri
 2004-08-05 14:53
#85420 #85420
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=FtR,05.08.2004, 12:16][quote=FtR,05.08.2004, 11:52]by Erik: Anstößiger Inhalt gegen sri gelöscht.[/quote]
Es sei darauf hingewiesen, das antworten bestehend aus einer zeile ala

perdoc -f xxx


in sich anstössig und zu 99% nuztlos sind, wenn diese nicht kommentiert werden und auf den entsprechenden teil der doch der für das jeweilge problem hilfreich sein soll hingewiesen wird.
das war die stärke des ALTEN perl.de und auch der grund warum ich nach langer zeit hilfe suchen hierher zurückgekehrt bin.
daher werde ich mir das recht herhaus nehmen jemanden der einen derartigen artiekel verfasst immer eine Pflaume zu nennen.

und btw es gibt durchaus härtere worte die hier jedoch unpassen wären Pflaume gehört meiner meinung nach nicht dazu.


FtR[/quote]
Dann nehme ich mir die Freiheit heraus Jemanden dumm zu nennen der Leute beschipft die versuchen ihm zu helfen.\n\n

<!--EDIT|sri|1091703395-->
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2004-08-05 13:38.