Skip to content

Commit

Permalink
start of an editorial review of p5->p6 tutorial
Browse files Browse the repository at this point in the history
  • Loading branch information
moritz committed Aug 10, 2011
1 parent 0d24649 commit a79afae
Showing 1 changed file with 15 additions and 13 deletions.
28 changes: 15 additions & 13 deletions source/tutorials/p5/index.html
Expand Up @@ -5,7 +5,7 @@ <h1>Perl 6 für Perl 5-Programmierer</h1>

<p>Trotz vieler Änderungen von p5 zu p6 ist auch vieles gleich
geblieben, was es alt eingesessenen Perl 5-Programmieren sicher
leichter macht Perl 6 zu lernen als anderen.</p>
leichter macht als anderen, Perl 6 zu lernen.</p>

<p>Das hier ist ein Versuch, die wichtigsten Änderungen
zusammenzufassen, die häufigsten am Anfang, danach grob nach
Expand All @@ -17,17 +17,17 @@ <h2>Verschiedenes</h2>
sind Einzeiler die mit <code>perl -e '$code'</code> ausgeführt
werden.</p>

<p>Für Objektmethoden gibt es jetzt die <code>.</code>-Notation (anstelle
von <code>-&gt;</code>), die meisten Builtins sind jetzt Methoden:</p>
<p>Für Methodenaufrufe gibt es jetzt die <code>.</code>-Notation (anstelle
von <code>-&gt;</code>), die meisten Builtins sind jetzt auch Methoden:</p>

<pre>[[[syntax perl6]]]
my @list;
@list.push("foo"); # wie push @list, "foo"
"foo".print; # wie print "foo";
[[[endsyntax]]]</pre>
<p>Die alte Notation ist immer noch unterstützt.</p>
<p>Wenn man bei Methoden (also Funktionen, die zu einem Objekt gehören),
die Klammern weglassen will, braucht man einen Doppelpunkt:</p>
<p>Wenn man beim Aufruf Methoden (also Routinen, die zu einem Objekt gehören)
mit Argumenten, die Klammern weglassen will, braucht man einen Doppelpunkt:</p>

<pre>[[[syntax perl6]]]
@list.push: 'foo';
Expand All @@ -53,11 +53,11 @@ <h2>Sigils, Arrays und Hashes</h2>
<p>Allerdings bleibt bei Arrays und Hashes der Sigil beim Zugriff auf
Elemente erhalten:</p>
<pre>[[[syntax perl6]]]
my @list = 1, 3, 5, 1, 2;
my %hash = (
'foo' => 'bar',
'baz' => 'qox',
);
my @list = 1, 3, 5, 1, 2; # keine Klammern noetig
my %hash =
foo => 'bar',
baz => 'qox',
;
@list[0]; #früher: $list[0]
%hash{'foo'}; #früher: $hash{'foo'}
%hash<foo>; #früher: $hash{foo}
Expand Down Expand Up @@ -101,7 +101,6 @@ <h2>Sigils, Arrays und Hashes</h2>
<code>elems</code>:</p>

<pre>[[[syntax perl6]]]
# man beachte, dass hier keine Klammern mehr nötig sind:
my @list = 1, 2, 4, 5;

my $num = @list.elems; # früher: scalar @list;
Expand Down Expand Up @@ -197,7 +196,9 @@ <h2>Die Standardvariable <code>$_</code></h2>
<p><code>for</code>-Schleifen ohne eine explizite Variable benutzen
auch weiterhin <code>$_</code> als Standard, allerdings wird sie niemals
von Funktionen wie <code>print</code> als Default verwendet. Dazu braucht
man ein <code>.print</code>. Das gleiche gilt für Funktionen wie
man ein <code>.print</code> -- der Punkt zeigt an, dass die Methode mit
<code>$_</code> als Invocant aufgerufen wird.
Das gleiche gilt für Funktionen wie
<code>uc</code> und <code>lc</code>:</p>

<pre>[[[syntax perl6]]]
Expand Down Expand Up @@ -234,7 +235,8 @@ <h2>Die Standardvariable <code>$_</code></h2>
<h2>Funktionen</h2>

<p>Funktionen werden immer noch mit <code>sub</code>-Keyword
deklariert, und können jetzt Parameterdeklarationen enthalten wie in
deklariert, und können jetzt Parameterdeklarationen (<em>Signatur</em>
genannt) enthalten wie in
den meisten anderen Programmiersprachen.</p>

<pre>[[[syntax perl6]]]
Expand Down

0 comments on commit a79afae

Please sign in to comment.