Schrift
[thread]377[/thread]

Wie "leere" ich @Daten? (Seite 2)



<< |< 1 2 3 >| >> 25 Einträge, 3 Seiten
Crian
 2004-12-09 18:19
#3676 #3676
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=oruebe,09.12.2004, 17:07]mit Deinem Code gehts :-)

Ich hatte es auch schon mit
$a=0;while ($a<24) {$STD[$a]=0;$a++}
probiert. Das hatte aber nicht geholfen...

Hat den Dein Code irgendwelche Nachteile?[/quote]
interessant :)

Nein, Nachteile hat der nicht. @STD == @stunden?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Crian
 2004-12-09 18:23
#3677 #3677
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
btw dies hier:

Code: (dl )
1
2
3
4
5
6
7
print "Mo: $TAG[0]<BR>";
print "DI: $TAG[1]<BR>";
print "Mi: $TAG[2]<BR>";
print "Do: $TAG[3]<BR>";
print "Fr: $TAG[4]<BR>";
print "Sa: $TAG[5]<BR>";
print "So: $TAG[6]<BR>";


geht auch eleganter. Variante 1:

Code: (dl )
1
2
3
4
5
6
7
print "Mo: $TAG[0]<BR>",
     "DI: $TAG[1]<BR>",
     "Mi: $TAG[2]<BR>",
     "Do: $TAG[3]<BR>",
     "Fr: $TAG[4]<BR>",
     "Sa: $TAG[5]<BR>",
     "So: $TAG[6]<BR>";


Variante 2:

Code: (dl )
print +(qw/Mo Di Mi Do Fr Sa So/)[$_], ': ', $TAG[$_], '<BR>' for 0..6;
\n\n

<!--EDIT|Crian|1102609488-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
oruebe
 2004-12-09 18:27
#3678 #3678
User since
2004-07-09
46 Artikel
BenutzerIn
[default_avatar]
Ich lerne noch... :-)

Aber vielen Dank für Eure Hilfe (mal wieder)!!!!!
oruebe
 2004-12-09 18:28
#3679 #3679
User since
2004-07-09
46 Artikel
BenutzerIn
[default_avatar]
Einen hätte ich noch: Wie bekomme ich raus, welcher $STD der Größte ist?
Crian
 2004-12-09 18:34
#3680 #3680
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Wenns nur wenige Elemente sind (und nicht zeitkritisch):

Code: (dl )
my $big = (sort {$a <=> $b} @STD)[-1];


Das sortiert aufsteigend numerisch und nimmt den letzten Wert. Oder willst Du wissen, zu welchem Index der größte Wert vorkommt?

Eigentlich ist der Ansatz aber blöd, weil das Sortieren ja gar nicht nötig ist. Einfacher aber länger:

Code: (dl )
1
2
3
4
5
6
7
8
my $index = 0;
my $big = $STD[0];
for my $i (1..$#STD) {
if ($big < $STD[$i]) {
$index = $i;
$big = $STD[$i];
}
}


In $big ist der größte Wert und in $index der Index dazu.\n\n

<!--EDIT|Crian|1102610247-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
oruebe
 2004-12-09 19:00
#3681 #3681
User since
2004-07-09
46 Artikel
BenutzerIn
[default_avatar]
VIELEN DANK!!!!!!
Crian
 2004-12-09 19:40
#3682 #3682
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=oruebe,09.12.2004, 17:27]Ich lerne noch... :-)[/quote]

kein Problem, ich auch :D


[quote=oruebe,09.12.2004, 17:27]Aber vielen Dank für Eure Hilfe (mal wieder)!!!!![/quote]

bitte, immer wieder gern (endlich kann man hier mal wieder helfen =)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Strat
 2004-12-09 22:58
#3683 #3683
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Crian,09.12.2004, 17:34]Eigentlich ist der Ansatz aber blöd, weil das Sortieren ja gar nicht nötig ist. Einfacher aber länger:[/quote]
das kann man zwar mit einer index-schleife machen, aber vielleicht ist der folgende weg noch einfacher und schneller, trotz dem einmaligen unnoetigen schleifendurchlauf:


Code: (dl )
1
2
3
4
5
my $biggest = $STD[0];
foreach (@STD) {
$biggest = $_ if $_ > $biggest;
}
print "Groesstes Element: $biggest\n";


Nebenbei: eine Liste kann man folgendermaszen leeren:
Code: (dl )
1
2
3
4
5
@liste = (); # zuweisung einer leeren liste
# oder:
$#liste = -1; # hoechsten index auf -1 setzen
# oder:
undef(@liste);
\n\n

<!--EDIT|Strat|1102626060-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Crian
 2004-12-10 00:26
#3684 #3684
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Jau, siehe Post zwei (Relais) ;)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Strat
 2004-12-10 00:49
#3685 #3685
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
@Crian: aber $#liste = -1; hat Relais nicht geschrieben :P Die beiden anderen waren nur eine Vervollstaendigung... hmmm, da faellt mir noch eine "hoechst effiziente" Moeglichkeit ein:
Code: (dl )
1 while shift(@liste);

Muesste gerade bei grossen Listen viel Spass machen...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 3 >| >> 25 Einträge, 3 Seiten



View all threads created 2004-12-09 16:56.