Thread Wow! (Promise Syntax) (41 answers)
Opened by Kuerbis at 2015-08-29 19:50

Gast janus
 2015-09-03 16:09
#182037 #182037
Objekt: Eine Referenz, welche mit dem Namen einer Klasse gesegnet ist (blessed). So habe ich das mal gelernt. insofern liefert gmtime() kein Objekt. wir können jedoch den Zugriff ins zurückgelieferte Array vereinfachen, indem wir per Hash-Slice den einzelnen Arrayelementen Namen verpassen. Dafür brauchen wir jedoch kein extra Modul und schon gar nicht eine dedizierte Klasse und demzufolge muss das Ergebnis auch keine Instanz einer Klasse sein, also kein Objekt.


Sondern nur ein ordinärer Hash:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
my %localtime = ();
@localtime{qw(sec min hour mday mon year wday yday isdst)} = localtime;
print Dumper \%localtime;


$VAR1 = {
          'wday' => 4,
          'hour' => 15,
          'min' => 58,
          'isdst' => 1,
          'sec' => 44,
          'mon' => 8,
          'yday' => 245,
          'mday' => 3,
          'year' => '115'
        };


Und in genau solchen Dingen sehe ich die Stärken von Perl5: Das Schreiben von lesbaren und verständlichen Code und OOP nicht der OOP willen sondern aus Gründen der Zweckmäßigkeit.

Natürlich können wir jederzeit aus einem mit open() erzeugtn $FH ein Objekt erzeugen, indem wir $FH ganz eifach mit dem Namen einer Klasse segnen. Und von mir aus können wir auch vereinbaren, dass $FH Perlintern ein Objekt ist, ohne dass wir es mit dem Namen einer Klass gesegnet haben. Aber solange wir das nicht gemmacht haben, ist und bleibt $FH in unserem Code ein gewöhnliches Handle - so jedenfalls bei mir und ich hoffe, ihr versteht, was ich damit meine.

Schöne Grüße.
Last edited: 2015-09-03 16:32:20 +0200 (CEST)

View full thread Wow! (Promise Syntax)