Schrift
[thread]8346[/thread]

exists (Seite 2)



<< |< 1 2 >| >> 15 Einträge, 2 Seiten
Froschpopo
 2006-09-20 18:21
#70071 #70071
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ich will eine referenz auf ein hash, inkl. dem schlüssel!
also: $hash{schluessel}.

später will ich unterscheiden können, obder wert des schlüssels eine arrayref oder eine hashref ist.
renee
 2006-09-20 18:33
#70072 #70072
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
%hash = (foo => ["bar", "foobar"]);
$hashref = \%hash;
print ref($hashref->{foo}) . "\n";
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/
Froschpopo
 2006-09-21 02:35
#70073 #70073
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
[quote=renee,20.09.2006, 16:33]
Code: (dl )
1
2
3
%hash = (foo => ["bar", "foobar"]);
$hashref = \%hash;
print ref($hashref->{foo}) . "\n";
[/quote]
genau so; aber lieber wäre mir noch:
Code: (dl )
1
2
3
%hash = (foo_hat_einen_langen_name => ["bar", "foobar"]);
$hashref = \$hash{foo_hat_einen_langen_name};
print ref($hashref) . "\n";


Außerdem finde ich; sieht es doof aus wenn ich: $hashref->{key}->[2] aufrufe. Lieber würde ich nur die arrayref aufrufen.\n\n

<!--EDIT|Froschpopo|1158791788-->
pq
 2006-09-21 09:29
#70074 #70074
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=Froschpopo,21.09.2006, 00:35][quote=renee,20.09.2006, 16:33]
Code: (dl )
1
2
3
%hash = (foo => ["bar", "foobar"]);
$hashref = \%hash;
print ref($hashref->{foo}) . "\n";
[/quote]
genau so;[/quote]
dubu hatte dir die ref-funktion doch schon vorgeschlagen. warum sagst
du erst jetzt, dass es das ist, was du willst?
Quote
aber lieber wäre mir noch:
Code: (dl )
1
2
3
%hash = (foo_hat_einen_langen_name => ["bar", "foobar"]);
$hashref = \$hash{foo_hat_einen_langen_name};
print ref($hashref) . "\n";

warum bloß eine referenz auf eine referenz? hatte ich dich schonmal
gefragt. magst du aber anscheinend nicht drauf antworten.
mach den backslash weg, und dein code funktioniert, denn da steht schon
eine referenz drin! (nein, ich schreibe nicht den fertigen code auf, weil
"backslash weg" einfach genug sein sollte)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Dubu
 2006-09-21 22:45
#70075 #70075
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
[quote=Froschpopo,20.09.2006, 16:21]ich will eine referenz auf ein hash, inkl. dem schlüssel!
also: $hash{schluessel}.
[/quote]
Was soll das heißen, "inkl. dem schlüssel"?

$hash{schluessel} ist der Wert in %hash zu dem Schlüssel "schluessel". In diesem Wert weist nichts darauf hin, zu welchem Schlüssel er gehört.

\$hash{schluessel} ist eine Referenz auf diesen Wert. Da ist auch nichts mehr von dem Hash oder dem Schlüssel dran.

Wenn du eine Referenz auf den ganzen Hash %hash haben möchtest, dann musst du \%hash nehmen.

Quote
später will ich unterscheiden können, obder wert des schlüssels eine arrayref oder eine hashref ist.


Verstehe ich das richtig: Du möchtest später wieder den Schlüssel benutzen, um auf den Wert zuzugreifen, aber du möchtest das nicht über den Hash %hash machen?
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2006-09-19 19:50.