more perl 6 ops:
chained operators:
if 24 < $age < 42 { say "Und das leben wird leichter" }
if -w -r -e $filepath { say "hauptsache der code wird kürzer" }
logical operators:
my ($erdbeere, $schoko) = (0, 1); # ich mag schoko
$eiscreme = $erdbeere && $schoko; # iiii erdebeere, and (andere schreibweise) liefert immer false wenn es kann
$eiscreme = $erdbeere || $schoko; # ahhhh, or ist lieb
$eiscreme = $erdbeere // $schoko; # // oder err funzt hier wie && weil $erdbeere definiert ist
in perl 5 sagte man noch: $eiscreme = defined $erdbeere ? $erdbeere : $schoko;
$eiscreme = $erdbeere ^^ $schoko; # liefert positiven wert oder false wenn beides oder nichts wahr ist
bool ops:
$noch_ein_eis = $erdbeere ?| $schoko; # ja schoko geht immer
$egal_welches = $erdbeere ?& $schoko; # natürlich nicht
$etwas_bestimmtes = $erdbeere ?^ $schoko; # ja frag nicht so doof
int ops
Bitwise Operators fangen alle mit + an
$number = 42 +& 18; # $number is 2
$number = 42 +| 18; # $number is 58
$number = 42 +^ 18; # $number is 56
$number = +^ 42; # $number is -43
$number = 4 +< 1; # $number is 8
$number = 4 +> 1; # $number is 2
string ops
$string = 'jj' ~& 'gg'; # $string is 'bb'
$string = 'aa' ~| 'bb'; # $string is 'cc'
$string = "GG" ~^ "**"; # $string is 'mm'
Reduction operator:
$summe = [+] 1, 2, 3, 4, 5, 6, 7; # ja es macht genau das wonach es aussieht
$wahr = [<] 1, 2, 3, 4, 5, 6, 7; # trotzdem ungewohnt die eckigen klammern
$produkt = [ * ] @a; # würde auch mit %hasch.values gehen
hyper operators
@positions »++; # erhöht alle werte im array
@negatives = -<< @positives; #
@summen = (2,3,5) >>+<< (144,255,169) # die schreibwese geht auch
jatzt versteht ihr auch warum das shiften jetzt mit +< und +> geht
es gibt auch noch Junctive operators die den verketteteten vergleichen ähneln mit denen ich begann.
denn statt: if ($zahl == 1 or $zahl == 2 or $zahl == 3) {...}
geht jetzt : if $zahl == 1|2|3 {...}
oder so : if $zahl == any(1..3) {...}
junctive ops:
junctions werden mit |, &, und ^ gebildet weil die bitweisen ops jetzt +|, +&, +^ heissen.
(1|2|3) + 4; # 5|6|7
(1|2) + (3&4); # (4|5) & (5|6)
dies war schenll aus der synopsis kopiert weil ich jetzt auch genug hab, fange an die wiki aufzubauen\n\n
<!--EDIT|lichtkind|1143783890-->