Schrift
[thread]755[/thread]

hash einer funktion übergeben (Seite 2)



<< |< 1 2 3 >| >> 24 Einträge, 3 Seiten
pq
 2006-06-16 16:33
#8050 #8050
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
und wo ist das problem? sieht doch gut aus.
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
mr-sansibar
 2006-06-16 16:37
#8051 #8051
User since
2006-04-13
90 Artikel
BenutzerIn
[default_avatar]
entschuldigung !!!
stimmt habe versehentlich den richtigen code rein getan.

kannst du mir bitte hierbei noch helfen, diese for schleife macht mir problem, ist mir echt ein rätsel was daran falsch ist.

Code: (dl )
1
2
3
4
my $laenge = @ARGV

for (my $i = 0; $i <= $laenge; $i++) {
print $fh "$ARGV[i]\n\n $array_result[i]\n";

bekomme diese fehler meldung:

syntax error at C:\trxLogParser_2006-06-14.pl line 147, near "0;"
syntax error at C:\trxLogParser_2006-06-14.pl line 147, near "++) "
syntax error at C:\trxLogParser_2006-06-14.pl line 165, near "}"
Execution of C:\trxLogParser_2006-06-14.pl aborted due to compilation errors.
lichtkind
 2006-06-16 16:56
#8052 #8052
User since
2004-03-22
5681 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
Code: (dl )
1
2
my $laenge = @ARGV
for (my $i = 0; $i <= $laenge; $i++){}


das geht so:
Code: (dl )
1
2
3
for my $i (0..@ARGV){
print...
}


sowas\n\n

<!--EDIT|lichtkind|1150462658-->
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
lichtkind
 2006-06-16 17:02
#8053 #8053
User since
2004-03-22
5681 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
aber zu deiener frage: fehlt ";"
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
mr-sansibar
 2006-06-16 17:13
#8054 #8054
User since
2006-04-13
90 Artikel
BenutzerIn
[default_avatar]
möchte in meiner for schleife zwei arrays ausgeben.
bsp:
Code: (dl )
1
2
for (my $i = 0; $i <= $laenge; $i++) {
print $fh "$ARGV[i]\n\n $array_result[i]\n";
pq
 2006-06-16 17:54
#8055 #8055
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
das geht so:
Code: (dl )
for my $i (0..$#ARGV) {

in deinem beispiel fehlt ein semikolon.
außerdem ist die länge eines @arrays zwar $laenge = @array,
aber du willst $#array, weil du ja von 0 startest. ein
array mit 5 elementen geht von 0..4.
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
pq
 2006-06-16 17:55
#8056 #8056
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=lichtkind,16.06.2006, 14:56]das geht so:
Code: (dl )
1
2
3
for my $i (0..@ARGV){
print...
}
[/quote]
es muss $#ARGV heißen
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
lichtkind
 2006-06-16 18:53
#8057 #8057
User since
2004-03-22
5681 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
nein muss es nicht tina. was ich schrieb ist die exakt das gleiche was der ostafrikaner schrieb, deine schleife zählt einmal weniger. sich macht deine lösung sinn wenn es nur um @ARGV geht aber es ging ja um zu arrays und ich nahm an das sansibar weiss was er da schrieb.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
Dubu
 2006-06-16 22:28
#8058 #8058
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Er hat geschrieben, dass er in der Schleife zwei Arrays ausgeben will, und eines davon ist @ARGV. Also braucht er den Index von 0 bis $#ARGV, nicht scalar @ARGV. Es wird wohl kaum vorkommen, dass man absichtlich undefinierte Elemente ausgibt.

Wir wollen dem Fragesteller doch eine Antwort geben für das, was er meint, nicht für das, was er schreibt, oder? Deshalb polieren wir doch immer unsere Glaskugeln so eifrig...\n\n

<!--EDIT|Dubu|1150482609-->
Strat
 2006-06-17 14:27
#8059 #8059
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
scalar(@array) == $#array + 1 (ausser jemand spielt mit $[ rum, aber dann ist er selbst schuld)

bei for (0..@array) { ist $array[$_] beim letzten durchlauf der schleife stehts undef, und wenn man damit was zuweist, kann es sogar passieren, dass das array groesser wird, z.B.
Code: (dl )
1
2
3
for my $i (0..@array) {
$array[$i]++;
}
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 3 >| >> 24 Einträge, 3 Seiten



View all threads created 2006-06-16 14:08.