Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]9479[/thread]

perl 6 diskussion: irgendwer gesteigertes interesse? (Seite 4)

Leser: 5


<< |< 1 2 3 4 5 6 7 ... 13 >| >> 124 Einträge, 13 Seiten
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.
renee
 2006-03-28 22:50
#89780 #89780
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich finde es gut, wenn Du hier ab und zu etwas zu Perl6 erklärst. Vielleicht kann ich mich doch noch irgendwann damit anfreunden...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
GwenDragon
 2006-03-29 14:35
#89781 #89781
User since
2005-01-17
14563 Artikel
Admin1
[Homepage]
user image
Code: (dl )
1
2
3
4
5
6
7
8
$nr = @charaktere.elems; # das war in perl 5 @charaktere im skalarkontext
$nr = @charaktere.last;   # das war $#charaktere
$typ = @charaktere[1];  # 2tes lement

@array_der_paare = %dieser_run;
@alte_bauart = %dieser_run.kv; # steht für key value
@keys = %hash.keys;
@values = %hash.values; # usw
Ich finde die "Erweiterung" der Sprache um Methoden (ich weiß, es sind keine Methoden, kann aber gerade nicht anders denken) auch bei solchen Grundstrukturen wie Arrays und Hashes usw. gut.
Praktisch.

Das fördert auch die Nachvollziehbarkeit bei "Andersprachlern" und damit wieder die Akzeptanz von Perl ;)

Langsam lecke ich Blut. ich werde mal PXPerl installieren und damit experimentieren.\n\n

<!--EDIT|GwenDragon|1143628741-->
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

lichtkind
 2006-03-29 15:03
#89782 #89782
User since
2004-03-22
5681 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
Quote
Langsam lecke ich Blut

:) das wollte ich auch erreichen

gut dann kann ich für heut abend runde 3 ankündigen kontrollstrukturen\n\n

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

Es beginnt immer mit einer Entscheidung.
lichtkind
 2006-03-29 20:04
#89783 #89783
User since
2004-03-22
5681 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
:= wurde gewählt weil es andere sprachen auch so machen und die perl6 leuten das neulernen der sprache einfach machen wollen

ladys and gents perl 6 flow control basics:

shampoo und conditioner, brauch ich in meinem zimmer .... ja es gibt ein if und das gute daran das man nicht mehr überall leerzeichen einfügen kann wie zb zw hashvariable und {keyname} kann man sich jetzt die runden klammern sparen:

if $level > 59 {say "... und das leben beginnt" }
elsif $level > 40 { say "naja es wird interessant" }
else { say "farmen ist öde"}

das geht natürlich andersrum

unless $level < 60 { say "... und das leben beginnt" }
elsif $level > 40 { say "naja es wird interessant" }
else { say "farmen ist öde" }

da es endlich eine case anweisung gibt geht auch auch

given $level {
when 60 { laber.. }
when $_>40 { laber.. }
default { laber.. }
}

natürlich ist dieses given construkt ein artefakt ultimativer mächtigkeit das genauer erläutert werden will. unter der motorhaube tuckert nämlich hier der schon angekündigte smart match operator so dass obiges beispiel für perl 6 das selbe ist wie:

if ($level ~~ 60) {
}else {
if ($level ~~ ($_>40)) {} # $level ~~ ($_>40) soll zu $level >40 aufgelöst werden (bei ismomorpher gleichheit)
else {default}
}

wer sich jetzt an C erinnert und den dort vorhandenen break befehl muss umdenken denn der hier vorhandenen continue befehl funzt genau andersrum continue gibt man am ende eines when-blocks an wenn man den rest der bedingungen auch checken will. Daraus ergibt sich auch eine interessante folgerung denn man könnte auch schreiben:

given $level {
say "wir heissen alle teilnehmer willkommen";
when $_ < 40 { anfänger... }
say "für den fortgeschrittenen druiden emfehlen wir das aktuelle kräuterbuch des schreibes kalix";
when $_<60 { laber.. }
say "es werden immer noch level 60 tanks in molten core gesucht"
default { laber.. }
}

shortcut versionen mit or und and gehen natürlich auch noch

schleifen:

while $level < 15 { ...hat man wohl noch keine goldmünzen }

while und until können jetzt wie if auf () verzichten, do {} while|until gibts .net mehr, die schreibweise foreach auch nicht und for kann nur noch über listen iterieren. aber dafür haben wir die LOOP

loop { print "Ach kinners, ich könnte ewig so weitermachen" }

loop ($counter = 1; $counter < 20; $counter++) {
say "aha der autor ist neu bei perl";
}

loop { ... } until $fuel;

do {} # nur für einmalige sachen

uuuuuuund

for @lehrer { bart.write( "Ich darf nicht auf dem Wagen von $_ Skateboard fahren") }

oder

for @lehrer -> $lehrer { say "Ich werde stets höflich zu $lehrer sein.") }

wobei der $ natürlich lexikalisch ist und nach gebrauch vorbildlich verschwindet.

es scheint auch irgendwie larrys lieblingsspielzeug zu sein das for auch über beliebige AoA iterieren kann wie

for %kollegium.kv -> $key, $value { say "Der Dozent $key unterrichtet $value." }

for each(@a;@b;@c) -> $a, $b, $c { say "...wisst ihr wenn das licht angeht."}

da geht noch sehr viel mehr aber ich glaub die ist genug für jetzt, hoffe es war angenehm zu lesen.\n\n

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

Es beginnt immer mit einer Entscheidung.
GwenDragon
 2006-03-29 23:19
#89784 #89784
User since
2005-01-17
14563 Artikel
Admin1
[Homepage]
user image
given ist sehr nützlich.

Na, am Wochenende ist Perl6 probieren angesagt.
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

lichtkind
 2006-03-29 23:55
#89785 #89785
User since
2004-03-22
5681 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
ähem mir fällt grad ein wir könnten ja was zu perl 6 in der wiki anlegen?
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
GwenDragon
 2006-03-30 00:00
#89786 #89786
User since
2005-01-17
14563 Artikel
Admin1
[Homepage]
user image
Na logisch. Dort ist es sinnvoller, wenn Leute was lernen wollen. Gute Idee.
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

Dubu
 2006-03-30 00:49
#89787 #89787
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Ich wollte schon vorschlagen, dass ich Lichtkinds Text mal - bitte nicht als Vorwurf verstehen, aber das Lesen fällt mir doch teilweise recht schwer - mit ein paar Kommata, Großbuchstaben und Formatierung schmücke und ins Wiki stelle.

So einen "Crashkurs Perl 6" möchte mensch doch bestimmt
1.) irgendwann nochmal lesen;
2.) anderen per Link empfehlen;
3.) aktualisieren, wenn Larry eine neue Schnapsidee hat.

Einverstanden, Lichtkind?
lichtkind
 2006-03-30 00:49
#89788 #89788
User since
2004-03-22
5681 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
Wiki:Wissensbasis.Perl6Tutorial

gut hab den stub angesetzt,  wo ich mich austoben kann und auch hilfe immer willkommen ist,(könnte mich auch um wxperl tut kümmern) mein ansatz ist : nicht zuerst alles mit var dann alles über sub etc sondern eher grüppchen mit dem man gleich etwas mit pugs anfangen kann und dann immer in schichten erweitern. dabei versuche ich alle knapp wie möglich zu halten.

//Mod: Hinweis auf Wiki als Link formatiert\n\n

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

Es beginnt immer mit einer Entscheidung.
<< |< 1 2 3 4 5 6 7 ... 13 >| >> 124 Einträge, 13 Seiten



View all threads created 2006-03-27 00:02.