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

lichtkind
 2006-03-28 21:55
#89779 #89779
User since
2004-03-22
5681 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
ich werde wegen := nachfragen ansonsten Perl 6 var:

die gute nachricht es gibt weiterhin skalare, array und hashes die man wieterhin am $, @ und % erkennt.

& steht immer noch für code reffs und :: ist immer noch packettrenner auch zu verwenden bei modulen, klassen, roles, subset, enum oder type; die schreibweise $pkg'var aus perl 4 geht endgültig


formate, File und dir handels werden gehen und gegen objekte ausgetauscht auf die man aber ganz einfach prozedural zugreifen kann

$filehandle = open $filename;

damit sind wir schon bei: Skalare:

$horst = "mag keine Intormusik"; # das hatten wir schon
$horst = krieger.new; # das auch
$charaktere = ["krieger", "magier", "nachtelf", "druide", "zwerg"];
$dieser_run = { Krieger => "horst", magier => "uschi", druide => "foxear"};
$coderef = sub { tu was nettes }

arrays:

@charaktere = ("krieger", "magier", "nachtelf", "druide", "zwerg"); # noch immer nichts neues
$arrayref = @charaktere; # wie gesagt referenzen werden transparenter da man sie kaum mehr sieht, aber wie kommen wir jetzt an länge der @ ran ?

$nr = @charaktere.elems; # das war in perl 5 @charaktere im skalarkontext
$nr = @charaktere.last; # das war $#charaktere
$typ = @charaktere[1]; # 2tes lement

das ist jetzt wirklich eine der grösseren änderungen
sigil geben jetzt nicht den zurückgegebnen kontext sondern selbst bei verschachtelten strukturen den kontext der obersten ebene wieder, was bedeutet: EIN ARRAY FÄNGT IMMER MIT @ AN.

ansonst unspektakulär

@copy = @array;
@copy = (@array, @array2); # ein flacher array
@array = (1,2,[3,4]); # wann kommt mal was neues?
@array = 22; # dieser array hat 1 elems
@array xx= 3; # ergibt (22,22,22)

in anlehnung an den x operator von gestern kann xx arrays multiplizieren

hashes:

%dieser_run = ( Krieger => "horst", magier => "uschi", druide => "foxear");
$horst = %dieser_run{"Krieger"};
$horst = %dieser_run<<Krieger>>; geht auch


in diesem leicht abgewandelten beispiel von vorhin der sich täuschend echt wie perl 5 anfühlt geht aber etwas anderes var als ihr vermutet. es ist nämlich noch ein 4ter typ hinzugekommen: das paar.

kann man schreiben:

$pair = 'key' => 'value';
oder
$pair = :key('value');

das ist wichtig zu wissen denn:

@array_der_paare = %dieser_run;
@alte_bauart = %dieser_run.kv; # steht für key value
@keys = %hash.keys;
@values = %hash.values; # usw

so das reicht für heute denk ich. ich hab wirklich interesse das regelmässig zu machen. :)\n\n

<!--EDIT|lichtkind|1143569143-->
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?