for schleife
alex
- perl
Hi
Folgendes Problem
for (@arr1, @arr2, @arr3)
{
zu welchem Array gehört @_ ??
anweisungen...
}
Kann mir einer sagen, wie ich möglichst simpel
die zugehörigkeit von @_rauskriege?
Bye
Hi,
for (@arr1, @arr2, @arr3)
{
zu welchem Array gehört @_ ??
zum Array bzw. zur Liste (@arr1, @arr2, @arr3), welches auch nichts anderes ist als ($arr1[0], $arr1[1], ..., $arr1[$#arr1], $arr2[0], $arr2[1], ..., $arr2[$#arr2], $arr3[0], $arr3[1], ..., $arr3[$#arr3]).
Cheatah
Hi,
for (@arr1, @arr2, @arr3)
{
zu welchem Array gehört @_ ??
zum Array bzw. zur Liste (@arr1, @arr2, @arr3), welches auch nichts anderes ist als ($arr1[0], $arr1[1], ..., $arr1[$#arr1], $arr2[0], $arr2[1], ..., $arr2[$#arr2], $arr3[0], $arr3[1], ..., $arr3[$#arr3]).
Ähm, ich habe $_, welches durchläuft und will nun wissen zu welchem
@_ das $_ gehört..
Leider weiß ich immer noch nichts damit anzufangen...
Please noch ein tip .-)
thx
alex
Hi,
Ähm, ich habe $_, welches durchläuft und will nun wissen zu welchem
@_ das $_ gehört..
es gibt nur _ein_ @_, welches alle von Dir angegebenen Arrays umfaßt. Wenn Du etwas anderes möchtest, solltest Du Dich mit Referenzen beschäftigen - siehe
perldoc perlref
perldoc perlreftut
Cheatah
Hi,
Ähm, ich habe $_, welches durchläuft und will nun wissen zu welchem
@_ das $_ gehört..
es gibt nur _ein_ @_, welches alle von Dir angegebenen Arrays umfaßt. Wenn Du etwas anderes möchtest, solltest Du Dich mit Referenzen beschäftigen - siehe
perldoc perlref
perldoc perlreftut
Achso, ich dachte @_ bezieht sich nur auf eines dieser arrays.
Dann werde ich es anders machen...
trotzdem thx
Hi,
Ähm, ich habe $_, welches durchläuft und will nun wissen zu welchem
@_ das $_ gehört..
es gibt nur _ein_ @_, welches alle von Dir angegebenen Arrays umfaßt. Wenn Du etwas anderes möchtest, solltest Du Dich mit Referenzen beschäftigen
Aeh? Cheatah, was ist los, zu warm heute? @_ beinhaltet die Paraneter, die an eine sub uebergeben werden. $_ und @_ sind zwei voellig verschiedene Variablen, die zwar aehnlich aussehen, aber nichts miteinander zu tun haben. Und $_ durchlaeuft einfach nacheinander die Arrays @arr1, @arr2 und @arr3 und enthaelt immer ein Element aus dem Gesamtarray (@arr1, @arr2, @arr3). D.h., schreibt man die Arrays erstmal zu so einer Gesamtliste, dann gehen die ineinander auf; die urspruenglichen Grenzen kann man im Nachhinein nicht mehr feststellen. Wenn man mehrere Glaeser Wasser in eine Schuessel schuettet, kann man da auch keine Grenzen mehr erkennen. Im Gegensatz zum Wasser bleibt allerdings die Reihenfolge der Elemente in der Gesamtliste erhalten.
So long
Hallo Alex
Kann mir einer sagen, wie ich möglichst simpel
die zugehörigkeit von @_rauskriege?
Wie schon vermutet wurde, meinst du vermutlich $_ und nicht @_.
Ich bin leider nicht so topfit in diesen Sachen, aber vielleicht geht es, indem du vor der Schleife Referenzen auf die Einzelarrays definierst - also etwa:
my $arr1Pointer = @arr1;
my $arr2Pointer = @arr2;
my $arr3Pointer = @arr3;
Dann kannst du jederzeit, auch innerhalb der Schleife(?) mit dem Abfragen des Inhalts von $arr1Pointer (wo so ein Inhalt drin steht wie "ARRAY(0xb65b28)") herausfinden, um welchen der Arrays es sich handelt.
viele Gruesse
Stefan Muenz