Pytania oznaczone «raku»

Odpowiedzi na pytania dotyczące języka programowania Raku (wcześniej znanego jako Perl 6).

14
Dlaczego nie ma „każdej” metody na sekwencjach Perl6?

Czasami zaczynam pisać łańcuch wywołań metod w Perl 6 REPL, na przykład: ".".IO.dir.grep(...).map(...). ... a potem zdaję sobie sprawę, że to, co chcę zrobić z ostateczną listą, to wydrukować każdy element na osobnej linii. Spodziewałbym się, że sekwencje będą miały coś w rodzaju eachmetody,...

14
Mogę wywołać dowolną metodę na zero i to wydaje się złe

Spędziłem ostatnio dużo czasu na debugowaniu skryptu, a kiedy w końcu znalazłem problem, przyczyną był kod, który wyglądał tak: class Foo { has $.bar; method () { # do stuff $!.bar; } } Okazało się, że problem był z $!.bar, który powinien być albo $!baralbo $.bar. Rozumiem. Ale dlaczego to...

13
Wyrażanie sekwencji podwójnego sumowania w Raku

Jak wyrazić sekwencję podwójnego sumowania podwójnej zmiennej w Perlu 6? Aby zobaczyć przykład sekwencji podwójnego sumowania podwójnej zmiennej , zobacz to Należy go wyrazić takim, jakim jest, tzn. Bez matematycznego zmniejszania podwójnego sumowania do pojedynczego sumowania. Dziękuję...

13
Jak zaimplementować w Raku

W Perlu, używając Moo, możesz zaimplementować aroundnapisy, które owijają inne metody w klasie. around INSERT => sub { my $orig = shift; my $self = shift; print "Before the original sub\n"; my $rv = $orig->($self, @_); print "After the original sub\n"; }; Jak to zachowanie można...

12
Mieszanie prywatnych i publicznych atrybutów i akcesoriów w Raku

#Private attribute example class C { has $!w; #private attribute multi method w { $!w } #getter method multi method w ( $_ ) { #setter method warn “Don’t go changing my w!”; #some side action $!w = $_ } } my $c = C.new $c.w( 42 ) say $c.w #prints 42 $c.w: 43 say $c.w #prints 43 #but...

11
Używaj Haskell jak modułów Preludium w module w raku

Piszę pakiet rysunków z niektórymi częściami, a operatorzy i typy danych są rozproszone po całej. Jednak nie chcę, aby użytkownicy dodawali odpowiednie moduły za każdym razem, ponieważ byłoby to dość bałagan, na przykład miałbym Pointklasę, Monoidrolę i Styleklasę na różnych ścieżkach, takich jak...

11
Uruchamianie aplikacji Raku Cro jako usługi trwałej

Chciałbym uruchomić aplikację perl6 / raku Cro jako usługę za serwerem frontendowym. Samo uruchamianie cro runnie obsłuży restartowania po segfaultach i restartach. Wcześniej z perl5 Użyłem FastCGI - jednak Cro::HTTP::Serverjest Cro::HTTP::Server.new().start()idiom nie wygląda kompatybilny z...

11
Alternatywa dla Perla <> w Raku?

Tutaj uczę się omijać Raku (neé Perl 6), bardzo miło dookoła. Ale bardzo tęsknię za magią <>z Perla 5, w której możesz po prostu: my $x = <>; print $x; while(<>) { print join(':', split); } (wczytaj następny wiersz wejściowy do $x, zapętl resztę; dane wejściowe pochodzą z...

10
Jak przekazać parametry do tokena, do którego odwołuje się zmienna?

Mogę łatwo korzystać z sygnatur tokenów, używając bezpośrednio nazwy tokena: my token t ( $x ) { $x }; 'axb' ~~ / 'a' <t: 'x'> 'b' /; # match 'axb' ~~ / 'a' <t( 'x' )> 'b' /; # match Jednak nie znalazłem sposobu, aby to zrobić, gdy token jest przechowywany w zmiennej: my $t = token...

9
Zwięzłe drukowanie serii matematycznych w Raku

Szeregi matematyczne, weźmy na przykład kolejną sekwencję przedstawioną tutaj jako tablicę: my @seq = my $a=0, {++$a} ... *; for @seq[^10].kv {state $f=0; ($^k < 4 or $^k > 7) ?? say "a$^k = " ~ $^v !! (say "..." if $f ne 1; $f=1) }; Wydruki: a0 = 0 a1 = 1 a2 = 2 ... a8 = 8 a9 =...