perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 37
Click for quality!




10.02.2012 / 10:02

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitragobjekt und und eine funktions ala keys
Seitenanfang
hi

ich beschaeftige mich mit perl und oo.

und brauechte ich eine funktions wie

my @list = keys (%dateien);

jedoch fuer mein $self->{};

da ich dynamisch werte dem array hinzufuegen
muesse die im zweifel bei der abfrage anonym sind,
brauchte ich halte ein list funktion um zu sehen
was alles in $self enthalten ist.

holger

Datum: 21.09.2009-11:51

Beitragre: objekt und und eine funktions ala keys
Seitenanfang
Ich habe Deine Frage nicht ganz verstanden. Kannst Du das vielleicht nochmal genauer beschreiben?

Wenn $self ein Objekt ist, das auf einer Hashreferenz basiert und Du einfach nur die Schlüssel der Hashreferenz haben willst, dann kannst Du einfach

my @schluessel = keys %$self;

machen...

Datum: 21.09.2009-14:28

Beitragre: objekt und und eine funktions ala keys
Seitenanfang
hi

genau das wars , was jetzt noch fehlt ...;)

ist
ich hatte im hash mehrer felder die ich mit

$hash{datei}->[0] z.b. abgrufen habe.

das klappt so nicht mehr ?

akuell steht da z.b.


my $t=\$hash->{$datei}->[0];

was verkehrt ist.

wie waehre da der richtige aufruf ?

holger

Datum: 22.09.2009-09:12

Beitragre: objekt und und eine funktions ala keys
Seitenanfang
Was heißt "das klappt so nicht mehr"? Gibt es Fehlermeldungen?

Was ist Deine Ausgangssituation? Was willst Du am Ende erreichen?

Da das ganze mit Referenzen zu tun hat, würde ich Dir empfehlen mal http://wiki.perl-community.de/cgi-bin/foswiki/view/Perldoc/perlreftut zu lesen...

Datum: 22.09.2009-11:52

Beitragre: objekt und und eine funktions ala keys
Seitenanfang
ausgangs punkt ist der

ich fuelle mein hash mit mehreren feldern

$hash{$datei}=["a","b","c"];

das konnte ich dann nachher mit

my $a=$hash{$datei}->[0] ;

abfragen.

das war eine normale sub funktion ,diese will ich nun
als objekt umbauen.

beinhaltet der hash nur eine wert ist das ok ,
my $a=$hash->{$datei}; # was a ergeben sollte.

aber wie komme ich nun an b und c drann ?

holger

Datum: 22.09.2009-12:46

Beitragre: objekt und und eine funktions ala keys
Seitenanfang
Ein Objekt ist in der Regel nichts anderes als eine Hashreferenz.

Wenn Du also früher

$hash{datei} = [1,2,3]

gemacht hast und %hash soll durch das Objekt $self ersetzt werden, dann muss es im Code auch entsprechend

$self->{datei} = [1,2,3]

heißen.

Ich hoffe, Du greifst nicht von außen auf die Attribute des Objektes zu, weil Du dann die sogenannte Kapselung umgehen würdest.

Perl erlaubt es zwar, in den Eingeweiden des Objektes rumzuwühlen, aber man sollte sich auch in Perl an gewisse Regeln der Objektorientierung halten.

Datum: 23.09.2009-08:23

Beitragre: objekt und und eine funktions ala keys
Seitenanfang
hi
nein ich will sogar dass mein hash ur im objekt "lebt"
und von aussen nicht zu verfuegung steht.

und das mit dem setzen ist somit auch klar ,

jedoch wie lese ich das ganze aus ?

wenn ich $self->{datei} = [1,2,3] ;
setze

habe ich frueher

my $a=$hash{datei}->[0];

den wert ausgelesen , ein

my $a = $self->{datei}->[0] ;

geht jedoch nicht !

holger

Datum: 23.09.2009-09:15

Beitragre: objekt und und eine funktions ala keys
Seitenanfang
hi
danke nochmal fuer die hilfe
es klappt jetzt , mit etwas probieren .

die abgrage funktioniert doch mit
my $a=$self->{datei}->[0];

hatte das nur nicht befuellt da an anderer stelle
noch etwas nicht umgestellt war.

holger

Datum: 23.09.2009-12:37

-






-
-