Leser: 18
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#!/usr/bin/env perl6 use v6; my $sleep = 10; my $p1 = start { sleep $sleep; say "eins" } my $p2 = start { sleep $sleep; say "zwei" } my $p3 = start { sleep $sleep; say "drei" } my $s = prompt "Yes or No?"; say $s; while ($p1|$p2|$p3).status eq 'Planned' { say "working..."; sleep 1; }
2015-08-31T04:56:56 KuerbisWie würdest du das mit Perl 5 schreiben?
2015-08-31T19:12:21 lichtkindWeißt was witzig ist? Du kommst hier rein, glaubst alles besser zu wissen und ich war noch so höflich anzunehmen das du nicht einfach rumtrollst sondern das du im grunde genommen weisst was du sagst und ich hab dir fachlich geantwortet.
2015-08-31T20:12:04 RaubtierAha, nach start kann man suchen: http://doc.perl6.org/routine/start. Das gibt ein Promise zurück -> http://doc.perl6.org/type/Promise. Allerdings verstehe ich schon gleich den nächsten Satz in der Doku nicht: "Returns a promise that will be kept with a Proc::Status object once the external program exits...".
http://doc.perl6.org/routine/startclass Proc::Async
From Proc::Async
method start
method start(Proc::Async:D:, :$scheduler = $*SCHEDULER, :$cwd = $*CWD) returns Promise:D
Initiates spawning of the external program. Returns a promise that will be kept with a Proc::Status object once the external program exits, and that will be broken if the program cannot be started.
If start is called on a Proc::Async object on which it has already been called before, an exception of type X::Proc::Async::AlreadyStarted is thrown.
...
2015-08-31T20:26:06 LinuxerSollten wir zum Verstehen von Promise nicht erstmal bei diesem bleiben und den zweiten Treffer von http://doc.perl6.org/routine/start verwenden?
Oder versteh ich als Perl6-Abstinenzler Dich da falsch?
my $obj = mach_ein_object(); # erzeugen und initialisieren
1 2 3 4 5
obj := Irgendwas.new(); try mach_ein_object(obj); // nur initialisieren finally obj.Free();
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
my %localtime = (); @localtime{qw(sec min hour mday mon year wday yday isdst)} = localtime; print Dumper \%localtime; $VAR1 = { 'wday' => 4, 'hour' => 15, 'min' => 58, 'isdst' => 1, 'sec' => 44, 'mon' => 8, 'yday' => 245, 'mday' => 3, 'year' => '115' };
QuoteObjekt: Eine Referenz, welche mit dem Namen einer Klasse gesegnet ist (blessed). So habe ich das mal gelernt.
my($result1, $result2, $result3) = await($p1, $p2, $p3);