Perl6 :: Attribute.

Perl 6-ähnliche Syntax der Mitgliedsvariablen
Jetzt downloaden

Perl6 :: Attribute. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Luke Palmer
  • Website des Verlags:
  • http://search.cpan.org/~lpalmer/

Perl6 :: Attribute. Stichworte


Perl6 :: Attribute. Beschreibung

Perl 6-ähnliche Mitgliedervariable Syntax Entwickler-Kommentare: Ich habe mich verärgert, als ich den folgenden Code in einem meiner letzten Projekte schrieb: Sub füllen {My ($ self, $ n) = @_; für (1 .. $ n) {Push @ {$ self -> {organisms}}, Organismus-> Neu (Rand ($ self -> {breite}), Rand ($ self -> {höhe}); }} Drei $ selfs in einer linie! Und es ist wirklich keine Informationen, die keine Informationen kodieren, es ist nur Unordnung, die sich aus der Mangel an diskutierter objektorientierter Unterstützung ergibt. Mit der Magie der Quellfilter können wir jedoch jetzt schreiben: Sub füllen {My ($ self, $ n) = @_; für (1 .. $ n) {Push @ .organismen, Organismus-> Neu (Rand ($. Breite), Rand (Höhe. Höhe)); }} Perl6 :: Attribute nimmt den Perl 6 sekundär siig. und übersetzt es in einen Hash-Zugriff auf Selbst. Nein, es unterstützt keine anderen Namen für Ihren Invocant (aber es könnte sehr leicht; Ich bin einfach faul), und nein, es unterstützt keine Objekte, die von verrückten Menschen, die auf Array, Skalar oder (!) GLOB basieren Referenzen. Sie verschwinden immer noch den primären Sigil, im Gegensatz zu in Perl 6. Siehe Perl6 :: Variablen für einen Weg, um perl 6 nicht miteinander zu verwenden ... aber erwarten Sie nicht, dass es mit diesem Modul zusammenarbeitet. "Dass Sie dazu bringen, die Fähigkeit zu handeln, Ihre Variablen mit verschiedenen Sigils (übrigens nicht dasselbe zu nennen (übrigens können Sie das nicht tun). Sagen Sie $ self -> {foo} ist ein Array REF: @ .foo; # Das Array selbst $ .foo; # Der Referenzierung, dass Sie, auch wenn Sie ein Array referenziell verwenden, in der Regel nicht vermeiden können, dass diese Pesky @ {} S eywherewhere überwandert schreiben. > und $ selbstmethode (args)> .synopsis packung foo; Verwenden Sie Perl6 :: Attribute; Sub New {My ($ class) = @_; segne {a => 1, b => , c => {hello => "World"},} => ref $ class || $ Klasse; } Unter Beispiel {MY ($ self) = @_; $ .a; # 1 $ .b ; # 4 @ .b; # 23 4 $ #. B; # 3 $ .c {hallo}; # Weltschlüssel% .c; # Hallo drucken "Ich bekomme die Idee"; } Anforderungen: · Perl.


Perl6 :: Attribute. Zugehörige Software