Thread perl 6 diskussion: irgendwer gesteigertes interesse? (123 answers)
Opened by lichtkind at 2006-03-27 00:02

lichtkind
 2006-04-27 12:55
#89827 #89827
User since
2004-03-22
5701 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
ok bis das kapitel über subs kommt will ich mal hier die die hochlichter nennen was in perl6 alles gegenüber perl5 verbessert wurde:
Code: (dl )
1
2
3
4
5
6
7
sub ($a, $b, *@rest) {} # statt:

sub {
my $a = shift;
my $b = shift;
my @rest = @_;
}


OOP mit autogenerierten new, gettern und settern:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Heart::Gold {
has int $.length;
} # statt:

package Heart::Gold;

sub new {
bless {length => 0 }, shift;
}

sub length {
my $self = shift;
my $length = shift;
if ($length) {$self->{length} = $length}
else {$self->{length} }
}


und ihr wisst das in realem weniger gestuztem code die vorteile wesentlich wachen werden

junctions:
Code: (dl )
1
2
if $a == 3|4|7 {...} # statt:
if ($a == 3 or $a == 4 or $a == 7) {...}

direkterer mit hashes for ist weitaus mächtiger geworden
Code: (dl )
1
2
for %hash.kv -> $key, $value { say "$key => $value" }        # statt:
for my $key (keys %hash) {print "$key => $hash{$key}\n"}

das bereits vorgestellte given, when ist eine grössere sache, mit den parameter die einzige sache die php vorraus hatte, aber was mir an python immer gefiel war
Code: (dl )
1
2
if 1 < $a < 5     {...} # geht nun auch in perl6
for 1..15:by(-2){...} # das auch

was auch ständigen code vereinfacht:
Code: (dl )
$a = $b // $c;  statt: $a = defined $b ? $b : $c; 

wem jemals die $1-$9 zu wenig war hat jetzt nth() aber es fallen jetzt viele limits weg an denen ihr euch vielleicht öftes gestört hat. auch input stream kann man jetzt auf autochomp stellen...
nächtes mal mehr

PS. warum ist das new rot?\n\n

<!--EDIT|lichtkind|1146129625-->
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.

View full thread perl 6 diskussion: irgendwer gesteigertes interesse?