ohne hash: zwei arrays sortieren
norman
- perl
0 Johannes Haase0 norman0 Johannes Haase0 Johannes Haase0 norman
0 Klaus Mock
0 TorstenA
juten tach,
ich möchte zwei arrays in abhängigkeit voneinander sortieren
@array1 = ("b+@ r","a?!")
@array2 = (2,5)
ergebnis:
@array1 = ("a?!","b+@ r")
@array2 = (5,2)
sortiert werden soll nach @array1. mit nem hash ist das ja leider nicht zu lösen.
hat jemand eine idee?
danke
norman
Hallo,
ja, in einem Hash liegen alle Wertepaare kreuz und quer und man
hat keine Ahnung wie die Reihenfolge ist.
Wäre es nicht möglich doch zuerst einen Hash zu definieren:
%hash = ( b+@ r => 2, a?! => 5);
und dann die Schlüssel-Werte-Paare in einer foreach-Schleife zu durchsuchen und diese nach speziellen Kriterien abzufragen, um sie dann gesonder in ein Array zu schreiben (in einer speziellen Reihenfolge)???
Den Schlüssel kann man mit keys und den Wert mit values abfragen.
Ich hoffe Du weißt das nicht schon alles und vielleicht bist Du
auch ein Profi in Sachen Perlprogrammierung? Für mehr Hilfe frag mich einfach nochmal oder auch bei Verständnisschwierigkeiten bzgl.
meines Beitrages. Vielleicht habe ich aber am Thema vorbeigeredet?
Gruß
Johannes
juten tach,
ich möchte zwei arrays in abhängigkeit voneinander sortieren
@array1 = ("b+@ r","a?!")
@array2 = (2,5)ergebnis:
@array1 = ("a?!","b+@ r")
@array2 = (5,2)sortiert werden soll nach @array1. mit nem hash ist das ja leider nicht zu lösen.
hat jemand eine idee?
danke
norman
hi johannes!
die keys (@array1 = ("a?!","b+@ r")) nach denen ich sortieren möchte, unterliegen doch -denke ich zumindest- deklarationkriterien: keine sodnerzeichen usw., so dass die hash-lösung rausfällt.
mfg
norman
Hallo,
ja, in einem Hash liegen alle Wertepaare kreuz und quer und man
hat keine Ahnung wie die Reihenfolge ist.
Wäre es nicht möglich doch zuerst einen Hash zu definieren:%hash = ( b+@ r => 2, a?! => 5);
und dann die Schlüssel-Werte-Paare in einer foreach-Schleife zu durchsuchen und diese nach speziellen Kriterien abzufragen, um sie dann gesonder in ein Array zu schreiben (in einer speziellen Reihenfolge)???
Den Schlüssel kann man mit keys und den Wert mit values abfragen.
Ich hoffe Du weißt das nicht schon alles und vielleicht bist Du
auch ein Profi in Sachen Perlprogrammierung? Für mehr Hilfe frag mich einfach nochmal oder auch bei Verständnisschwierigkeiten bzgl.
meines Beitrages. Vielleicht habe ich aber am Thema vorbeigeredet?Gruß
Johannes
Wie Recht Du doch hast Christoph!
In Deinem Beispiel geht es doch aber nicht in Wirklichkeit nur
um 2 Arrayeinträge, oder?
hi johannes!
die keys (@array1 = ("a?!","b+@ r")) nach denen ich sortieren möchte, unterliegen doch -denke ich zumindest- deklarationkriterien: keine sodnerzeichen usw., so dass die hash-lösung rausfällt.
mfg
normanHallo,
ja, in einem Hash liegen alle Wertepaare kreuz und quer und man
hat keine Ahnung wie die Reihenfolge ist.
Wäre es nicht möglich doch zuerst einen Hash zu definieren:%hash = ( b+@ r => 2, a?! => 5);
und dann die Schlüssel-Werte-Paare in einer foreach-Schleife zu durchsuchen und diese nach speziellen Kriterien abzufragen, um sie dann gesonder in ein Array zu schreiben (in einer speziellen Reihenfolge)???
Den Schlüssel kann man mit keys und den Wert mit values abfragen.
Ich hoffe Du weißt das nicht schon alles und vielleicht bist Du
auch ein Profi in Sachen Perlprogrammierung? Für mehr Hilfe frag mich einfach nochmal oder auch bei Verständnisschwierigkeiten bzgl.
meines Beitrages. Vielleicht habe ich aber am Thema vorbeigeredet?Gruß
Johannes
Äh, ich meine Norman
Wie Recht Du doch hast Christoph!
In Deinem Beispiel geht es doch aber nicht in Wirklichkeit nur
um 2 Arrayeinträge, oder?hi johannes!
die keys (@array1 = ("a?!","b+@ r")) nach denen ich sortieren möchte, unterliegen doch -denke ich zumindest- deklarationkriterien: keine sodnerzeichen usw., so dass die hash-lösung rausfällt.
mfg
normanHallo,
ja, in einem Hash liegen alle Wertepaare kreuz und quer und man
hat keine Ahnung wie die Reihenfolge ist.
Wäre es nicht möglich doch zuerst einen Hash zu definieren:%hash = ( b+@ r => 2, a?! => 5);
und dann die Schlüssel-Werte-Paare in einer foreach-Schleife zu durchsuchen und diese nach speziellen Kriterien abzufragen, um sie dann gesonder in ein Array zu schreiben (in einer speziellen Reihenfolge)???
Den Schlüssel kann man mit keys und den Wert mit values abfragen.
Ich hoffe Du weißt das nicht schon alles und vielleicht bist Du
auch ein Profi in Sachen Perlprogrammierung? Für mehr Hilfe frag mich einfach nochmal oder auch bei Verständnisschwierigkeiten bzgl.
meines Beitrages. Vielleicht habe ich aber am Thema vorbeigeredet?Gruß
Johannes
na ja, sind arrays die geordnet werden sollen.
array1 = ([.,.,.],[.,.,.]);
array2 = (2,5);
ist aber das gleiche problem, die inhalte des array1 sind uninteressant, da die speicheradressen (oder so ähnlich: ARRAY(0x8210f48) ) geordnet werden.
norman
Wie Recht Du doch hast Christoph!
In Deinem Beispiel geht es doch aber nicht in Wirklichkeit nur
um 2 Arrayeinträge, oder?
Hallo,
die keys (@array1 = ("a?!","b+@ r")) nach denen ich sortieren möchte, unterliegen doch -denke ich zumindest- deklarationkriterien: keine sodnerzeichen usw., so dass die hash-lösung rausfällt.
Wer sagt sowas?
%hash = ( "b+@ r" => 2, "a?!" => 5);
foreach $x (sort keys %hash)
{
print "$x = $hash{$x}\n";
}
ach ja: http://learn.to/quote bzw. </faq/#Q-09>
Grüße
Klaus
Hi,
ich möchte zwei arrays in abhängigkeit voneinander sortieren
[...] mit nem hash ist das ja leider nicht zu lösen.
http://forum.de.selfhtml.org/archiv/1998_4/t00940.htm#a3802
Viele Grüße
Torsten