Schrift
[thread]537[/thread]

Hashes Problem



<< >> 8 Einträge, 1 Seite
cooldie
 2005-07-22 20:39
#5332 #5332
User since
2005-07-19
14 Artikel
BenutzerIn
[default_avatar]
Hi Jungs
ich möchte folgendes machen :
Ich habe eine Userliste dort sind alle User von ALLEN Räumgen drinnen gespeichert also so :
cooldie
Eisflamme
LordHoto
...
gut das klappt so auch nun sind die aber alle in verschiedenen Räumen und hier ist mein Problem ich habe alle User von ALLEN Räumen in EINEM Array.
Nun möchte ich aber nur die User von einen bestimmten Raum haben jemand sagte sowas kann man mit Hashes und Sub Krams machen ich habs leider nicht so ganz verstandn und viel Zeit hatte er auch nicht :-(

Daher meine Frage wie kann ich das nun am besten Lösen?

Er hat solche Code Stücke geschrieben :
Code: (dl )
1
2
3
4
5
6
7
8
push( @{$users}->{$channelname}->{MEMBERS}},$username);
################################
@a = keys of %channel;
@b = ();
################################
foreach my $a of (@a) {
@b = @{$channel}->{$a}->{MEMBERS};
}

Funkioniert so leider nicht !

Hoffe ihr könnt mir helfen :-)

Gruß Patrick
renee
 2005-07-22 21:08
#5333 #5333
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Und wie ist in der Userliste vermerkt, welcher User zu welchem Raum gehört?? So wie die Liste oben dasteht, kann man das ja gar nicht unterscheiden...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
cooldie
 2005-07-22 21:22
#5334 #5334
User since
2005-07-19
14 Artikel
BenutzerIn
[default_avatar]
Das ist ja das Problem und ich weiss nicht wie das am besten lösen soll und deswegen frage ich ja euch!

Gruß Patrick
Ronnie
 2005-07-22 22:21
#5335 #5335
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Also du hast eine Liste in der die User aller Räume vermerkt sind und das war es?! Wenn nirgends ein Hinweis auf die Räume existiert, ist das wie wenn ich hier 49 Zahlen präsentiere und darum bitte die passenden sechs fürs Samstags-Lotto rauszufinden.
esskar
 2005-07-22 23:58
#5336 #5336
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ich weiß ja nicht, was du schon hast, aber man stößt ja zunächst immer auf ein Problem.

Entweder man, kann schnell abfragen, in welchen Räumen ein User ist, dann hat man z.B. folgende Struktur
Code: (dl )
1
2
3
4
5
my %Users = (
  'cooldie' => ['DarkRoom', 'Lounge', 'Perl'],
  'Eisflamme' => ['Perl', 'Lounge'],
  'LordHoto' => ['Lounge'],
);


oder man hat ne Datenstruktur, die einem schnell sagt, welche User in einem bestimmten Raum sind

Code: (dl )
1
2
3
4
5
my %Rooms = (
  'Lounge' => ['cooldie', 'Eisflamme', 'LordHoto'],
  'Perl' => ['cooldie', 'Eisflamme'],
  'DarkRoom' => ['cooldie'],
);


2 Datenstrukturen zu Pflegen ist dann immer etwas nervig

Eigentlich hätte man ja gerne sowas

-----------------------------------------
         | coldie | Eisflamme | LordHoto |
-----------------------------------------
DarkRoom | 1      | 0         | 0        |
-----------------------------------------
Perl     | 1      | 1         | 0        |
-----------------------------------------
Lounge   | 1      | 1         | 1        |
-----------------------------------------


So; jetzt hast du mal nen Ansatzpunkt; gehe jetzt mal Duschen... aber überleg dir mal, wie man sowas zustande bekommen könnte....

PS: ggf. reicht dir aber schon die DS %Users bzw. %Rooms
cooldie
 2005-07-23 19:38
#5337 #5337
User since
2005-07-19
14 Artikel
BenutzerIn
[default_avatar]
Danke,
das ganze ergibt nur ein Problem wie verwende ich das wenn ich das z.B ausgebe bekomme ich nur sowas : ARRAY(0x2252f8)

Vielleicht könntet ihr mir da nochmal helfen :-)

Gruß Patrick\n\n

<!--EDIT|cooldie|1122133128-->
esskar
 2005-07-23 19:49
#5338 #5338
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
3
4
5
6
while(my ($username, $rooms) = each %Users) {
  print "User $username:\n";
  foreach my $room (@{$rooms}) {
     print "\t$room\n";
  }
}


%Rooms kann man äquivalent durchlaufen....
Reicht dir das so, oder bist du noch an der kombinierten Datenstruktur interessiert?\n\n

<!--EDIT|esskar|1122133786-->
cooldie
 2005-07-23 20:59
#5339 #5339
User since
2005-07-19
14 Artikel
BenutzerIn
[default_avatar]
Danke,
das reicht mir so erstmal

Gruß Patrick
<< >> 8 Einträge, 1 Seite



View all threads created 2005-07-22 20:39.