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

Zahl und Zeichen zusammenzählen



<< |< 1 2 >| >> 16 Einträge, 2 Seiten
stb2050
 2003-08-14 20:53
#83117 #83117
User since
2003-08-14
87 Artikel
BenutzerIn
[default_avatar]
Hi Ihr,

ich habe eine Reihe von Zahlen @zahlen, diesen ist allerdings immer ein + oder ein - vorangestellt. Nun will ich alle mit dem Plus davor zusammenrechnen, die mit einen - davor sollen ausgelassen werden.

-45
-355
+1
+55
-23

Es sollte dann 56 herauskommen. Wie kann ich es anstellen?

Viele Grüße
Steffen\n\n

<!--EDIT|stb2050|1060880067-->
Ishka
 2003-08-14 20:57
#83118 #83118
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
my $sum=0;
for(@array){$sum+=m#\+(.*)# ? $1 : 0}
print $sum;
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
stb2050
 2003-08-14 20:59
#83119 #83119
User since
2003-08-14
87 Artikel
BenutzerIn
[default_avatar]
Danke dir :-)

Das ging ja schnell.

Viele Grüße
Steffen
pq
 2003-08-14 21:01
#83120 #83120
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
my $sum = eval "@{[grep tr/+//, @a]}";
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
SirLant
 2003-08-14 21:08
#83121 #83121
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
pq, das versteht doch kein Normalsterblicher mehr ;)
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
pq
 2003-08-14 21:19
#83122 #83122
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=SirLant,14.08.2003, 19:08]pq, das versteht doch kein Normalsterblicher mehr ;)[/quote]
ok, hier der versuch einer erklärung :)
@a=qw(-45 -355 +1 +55 -23);
my $sum = eval "@{[grep tr/+//, @a  ]}";
==>
 my $sum = eval "@{[grep tr/+//,  qw(-45 -355 +1 +55 -23)  ]}";

my $sum = eval "@{[  grep tr/+//, qw(-45 -355 +1 +55 -23)  ]}";
==>
 my $sum = eval "@{[qw(+1 +55)]}";

my $sum = eval   "@{[qw(+1 +55)]}"  ;
==>
 my $sum = eval  join" ",qw(+1 +55) ;

my $sum = eval "+1 +55";
==>
 my $sum = 56;
\n\n

<!--EDIT|pq|1060881734-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
format_c
 2003-08-14 21:32
#83123 #83123
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Ich verstehs aber auch net so recht.
mit tr/+// entfernst du doch das Plus das später durch eval interpretiert werden soll?

Gruß Alex
jan
 2003-08-14 21:32
#83124 #83124
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
>my $sum = eval join" ",qw(+1 +55) ;
>my $sum = eval "+1 +55";

diesen impliziten schritt hatte ich nicht bedacht, daher sah's ungewöhnlich aus. sehr geschickt.
jan
 2003-08-14 21:35
#83125 #83125
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
mh imho verändert tr hier nicht, sondern zählt nur die +, entweder 0 oder 1, bei 1 ist's true und der wert kommt weiter
pq
 2003-08-14 21:37
#83126 #83126
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=format_c,14.08.2003, 19:32]mit tr/+// entfernst du doch das Plus das später durch eval interpretiert werden soll?[/quote]
nee, tr/// entfernt ja nicht, nur wenn man es ihm
sagt =) (mit tr///d wird entfernt).
ansonsten zählt es nur ganz harmlos...
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2003-08-14 20:53.