Schrift
[thread]1997[/thread]

Kleinster Perl-Taschenrechner-Algorithmus: wer baut ihn? (Seite 2)



<< |< 1 2 >| >> 18 Einträge, 2 Seiten
Strat
 2006-06-01 18:00
#22569 #22569
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
warum nicht einfach:
Code: (dl )
perl -le "print 7 + 3"

*grins*
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
GwenDragon
 2006-06-01 19:13
#22570 #22570
User since
2005-01-17
14837 Artikel
Admin1
[Homepage]
user image
[quote=pktm,31.05.2006, 17:38]
Code: (dl )
1
2
3
4
my $zahl1 = 7;
my $zahl2 = 3;
my $operator = '*';
...    my $ergebnis = $switch{$operator}->();
[/quote]
Das Ausganspost bezieht sich aber auf:
perl -e "print 7*3"
GwenDragon
 2006-06-01 19:14
#22571 #22571
User since
2005-01-17
14837 Artikel
Admin1
[Homepage]
user image
Ich hoffe, pktm nimmt uns noch ernst.
Strat
 2006-06-01 19:27
#22572 #22572
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ich wuerde das so schreiben
Code: (dl )
1
2
3
4
5
6
7
8
9
10
my ($zahl1, $zahl2, $operator) = (7, 3, '*');

my %switch = (
'*' => sub { return $_[0] * $_[1] },
'/' => sub { return $_[0] / $_[1] },
'+' => sub { return $_[0] + $_[1] },
'-' => sub { return $_[0] - $_[1] },
);

my $ergebnis = $switch{$operator}->($zahl1, $zahl2);

dann sind die subroutinen von variablen ausserhalb unabhaengiger\n\n

<!--EDIT|Strat|1149175730-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Gast Gast
 2006-06-01 19:50
#22573 #22573
@renee: Was hast du für eine merkwürdige Shell,
wo man * nicht escapen muss?

Btw: *Wenn,* dann
Code: (dl )
perl -e'print eval("@ARGV")' 7 \* 3
pktm
 2006-06-01 19:52
#22574 #22574
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
[quote=Strat,01.06.2006, 17:27]ich wuerde das so schreiben
Code: (dl )
1
2
3
4
5
6
7
8
9
10
my ($zahl1, $zahl2, $operator) = (7, 3, '*');

my %switch = (
   '*' => sub { return $_[0] * $_[1] },
   '/' => sub { return $_[0] / $_[1] },
   '+' => sub { return $_[0] + $_[1] },
   '-' => sub { return $_[0] - $_[1] },
);
   
my $ergebnis = $switch{$operator}->($zahl1, $zahl2);

dann sind die subroutinen von variablen ausserhalb unabhaengiger[/quote]
Hm, das gefällt mir irgendwie. Dann leuchtet das mit dem Sub-Aufruf etwas besser ein. Schließlich gibt man dann Werte rein.
http://www.intergastro-service.de (mein erstes CMS :) )
renee
 2006-06-01 20:27
#22575 #22575
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@P: es ist die DOS-Box :)
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Strat
 2006-06-02 15:27
#22576 #22576
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=pktm,01.06.2006, 17:52][quote=Strat,01.06.2006, 17:27]ich wuerde das so schreiben
Code: (dl )
1
2
3
4
5
6
7
8
9
10
my ($zahl1, $zahl2, $operator) = (7, 3, '*');

my %switch = (
'*' => sub { return $_[0] * $_[1] },
'/' => sub { return $_[0] / $_[1] },
'+' => sub { return $_[0] + $_[1] },
'-' => sub { return $_[0] - $_[1] },
);

my $ergebnis = $switch{$operator}->($zahl1, $zahl2);

dann sind die subroutinen von variablen ausserhalb unabhaengiger[/quote]
Hm, das gefällt mir irgendwie. Dann leuchtet das mit dem Sub-Aufruf etwas besser ein. Schließlich gibt man dann Werte rein.[/quote]
ist halt ansichtssache, was man verwendet; bei meinem verwendet man halt lokale variablen, bei der urspruenglichen version closures
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2006-05-31 19:38.