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

lichtkind
 2006-03-30 22:11
#89792 #89792
User since
2004-03-22
5708 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
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-->
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?