FAQ: Jak w Raku usuwasz niektóre znaki z łańcucha na podstawie ich indeksu? Powiedzmy, że chcę usunąć indeksy od 1 do 3 i 8 xxx("0123456789", (1..3, 8).flat); #
Odpowiedzi na pytania dotyczące języka programowania Raku (wcześniej znanego jako Perl 6).
FAQ: Jak w Raku usuwasz niektóre znaki z łańcucha na podstawie ich indeksu? Powiedzmy, że chcę usunąć indeksy od 1 do 3 i 8 xxx("0123456789", (1..3, 8).flat); #
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,...
Podczas próby utworzenia komunikatu JSON dla interfejsu API miałem trudności z zrobieniem czegoś, co moim zdaniem byłoby proste. Musiałem utworzyć wiadomość podobną do następującej: { "list": [ { "foo": 1, "bar": 2 } ] } Jednak moja pierwsza próba nie zadziałała: say to-json { foo => [ { a...
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...
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ę...
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...
Mam trochę danych TSV ID Name Email 1 test [email protected] 321 stan [email protected] Chciałbym to parsować na listę skrótów @entities[0]<Name> eq "test"; @entities[1]<Email> eq "[email protected]"; Mam problem z użyciem metaznaku nowej linii do oddzielenia wiersza nagłówka od...
Mam trudności ze zrozumieniem, kiedy i dlaczego wartość trzymana przez przepchnięty Scalarpojemnik ma wpływ po wypchnięciu. Spróbuję zilustrować problem, na który wpadłem w bardziej skomplikowanym kontekście, w dwóch stylizowanych przykładach. * Przykład 1 * W pierwszym przykładzie skalar $ijest...
#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...
my @s=<1 2 3 2 3 4>; say reduce {$^a < $^b}, @s; say [<] @s; # -------- # True # False Moje pytanie jest dwojakie: po pierwsze, dlaczego metaoperator redukcji przetwarza <operatora inaczej? Wygląda na to, że metaop redukcji jest szacowany przy użyciu zmiennej, która przy pierwszej...
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...
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...
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...
Ciekawe, dlaczego Raku tak źle manipuluje wielowymiarowymi tablicami. Zrobiłem szybki test inicjujący macierz 2-wymiarową w Pythonie, C # i Raku, a upływający czas jest zaskakująco długi jak na później. Dla Raku my @grid[4000;4000] = [[0 xx 4000] xx 4000]; # Elapsed time 42 seconds !! Dla...
Hash z wpisywanymi klawiszami… use v6; class Foo {} my Hash[Foo, Foo] $MAP; my $f1 = Foo.new; my $f2 = Foo.new; $MAP{$f1} = $f2; produkuje błąd: Wywoływacz metody „ASSIGN-KEY” musi być instancją obiektu typu „Hash [Foo, Foo]”, a nie obiektem typu „Hash [Foo, Foo]”. Czy zapomniałeś...
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...
Próbuję przekonwertować oparte na wyrażeniach regularnych rozwiązanie problemu plecaka z Perla na raku. Szczegóły dotyczące Perlmonks Rozwiązanie Perl tworzy to wyrażenie
Usuwam post, ponieważ nie konsultowano mnie w sprawie cenzury /
Chciałbym znaleźć ciągłe sekwencje równych elementów (np. O długości 2) na liście my @s = <1 1 0 2 0 2 1 2 2 2 4 4 3 3>; say grep {$^a eq $^b}, @s; # ==> ((1 1) (2 2) (4 4) (3 3)) Ten kod wygląda dobrze, ale po dodaniu kolejnych 2 po sekwencji 2 2 2lub po usunięciu jednego 2 z niego...
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 =...