Schrift
[thread]8057[/thread]

Komplexe Datenstrukturen mit sort sortieren: Objektinstanzen mit sort sortieren



<< >> 4 Einträge, 1 Seite
gmstflsh
 2006-06-05 23:02
#67006 #67006
User since
2005-12-08
3 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,

ich habe eine Klasse Tabelle geschrieben, die durch einen Hash repräsentiert wird, der unter anderem eine Referenz auf ein Array enthält, in welchem Team-Objektinstanzen gespeichert sind. Tabellen-Objektinstanzen repräsentieren also bspw. eine Fußball-Bundesliga-Tabelle. Ich möchte dieTeams der Tabelle nun nach bestimmten Kriterien (z.B. Punkte) sortieren.

$table = {
"name" => "Bundesliga",
"teams" => [
{
"name" => "Bayern München",
"Punkte" => 5
},
{
"name" => "Borussia Dortmund",
"Punkte" => 10
}

]
}

Wie kann ich das mit der Perl-Routine sort hinbekommen, das ich festlegen kann, das nach Punkten oder Namen sortiert wird? Folgender Code funktioniert erwartungsgemäß nicht:

sort { $a <=> $b } @$table{"teams"};

Vielen Dank schonmal!

Tim
esskar
 2006-06-05 23:06
#67007 #67007
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ja, du musst ja dann auch nach punkten sortieren

Code: (dl )
my @sorted_teams = sort { $a->{Punkte} <=> $b->{Punkte} } @$table{"teams"};


btw. sieht mir das ganze nicht wirklich nach echten objekten aus, sondern eher nach normalen hash-refs :)
gmstflsh
 2006-06-05 23:21
#67008 #67008
User since
2005-12-08
3 Artikel
BenutzerIn
[default_avatar]
Ja, du hast recht. Das habe ich aber nur der Einfachheit halber so aufgeschrieben.

Vielen Dank für die Hilfe!!!
esskar
 2006-06-05 23:30
#67009 #67009
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
mit CPAN:Data::Dumper kannst du komplexe datenstrukturen lesbar anzeigen!
<< >> 4 Einträge, 1 Seite



View all threads created 2006-06-05 23:02.