Schrift
[thread]7545[/thread]

OO-Frage



<< >> 4 Einträge, 1 Seite
master
 2005-12-16 16:54
#60934 #60934
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
Es wird ein "Entry" validiert... nun will ich das für alle Entrys haben. dazu habe ich angefangen die funtkion "tiefevali"

umzubauen..

Entry8 soll sich selber (oder seinen namen) also an
tiefevali übergeben. dort wird das Element dann verändert usw. was mache ich falsch?

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Das Binding
$Entry8->bind( "<KeyRelease>", \&tiefevali($Entry8));




sub tiefevali
{

if($Zufall eq '') {$Zufall = 0; }

my $tmp = $Zufall;
$Zufall = $_[0]->get;

if($Zufall =~ s/[^0-9]//gs)
{
$Entry8->delete(0,'end');
$Entry8->insert(0,$tmp);
$Zufall = $tmp;
}
}
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
ptk
 2005-12-16 23:46
#60935 #60935
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=master,16.12.2005, 15:54]
Code: (dl )
$Entry8->bind( "<KeyRelease>", \&tiefevali($Entry8));
[/quote]
Falsche Syntax. So macht man es:
Code: (dl )
$Entry8->bind( "<KeyRelease>",  sub { &tiefevali($Entry8)});


B::Deparse kann dir zeigen, was dein Code in Wirklichkeit macht:
Code: (dl )
1
2
perl -MO=Deparse -e '$Entry8->bind( "<KeyRelease>", \&tiefevali($Entry8));'
$Entry8->bind('<KeyRelease>', \(&tiefevali($Entry8)));

Der Callback wird also sofort ausgeführt und aus dem Ergebnis eine Referenz gemacht.
master
 2005-12-17 13:12
#60936 #60936
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
Super! Vielen Dank Ptk,
Du bist wie immer eine grosse Hilfe!
Klappt wunderbar!
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
J-jayz-Z
 2005-12-17 13:57
#60937 #60937
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=ptk,16.12.2005, 22:46]B::Deparse kann dir zeigen, was dein Code in Wirklichkeit macht:[...][/quote]
Ich hatte aber auch schon einige male das Problem, das Deparse mir etwas nicht korrektes anzeigt. (Siehe diesen Thread)
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
<< >> 4 Einträge, 1 Seite



View all threads created 2005-12-16 16:54.