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); # 045679
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 …
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 => …
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, dzięki czemu mógłbym zakończyć łańcuch .each(*.say), …
Mam trochę danych TSV ID Name Email 1 test test@email.com 321 stan stan@nowhere.net Chciałbym to parsować na listę skrótów @entities[0]<Name> eq "test"; @entities[1]<Email> eq "stan@nowhere.net"; Mam problem z użyciem metaznaku nowej linii do oddzielenia wiersza nagłówka od wierszy wartości. Moja definicja gramatyki: use v6; grammar Parser { token TOP { …
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 zaimplementować 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ę Ci.
#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 …
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 zmianie z …
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 wypychany na tablicę @bjako część List. Po wypchnięciu wartość przechowywana przez …
Jak wskazuje tytuł, jaka jest różnica między $/i $¢? Wydaje się, że zawsze mają tę samą wartość: my $text = "Hello world"; $text ~~ /(\w+) { say $/.raku } (\w+)/; $text ~~ /(\w+) { say $¢.raku } (\w+)/; Oba dają wynik Dopasuj obiekty o tych samych wartościach. Jaka jest logika …
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 ten unit module Package::Data::Monoid; # $?FILE = …
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 plików o …
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 FastCGI :: rodzimych za while $fcgi.accept() {}przykład. service.p6Generowane przez cro stubma SIGINTobsługi, jednak jestem pewien, …
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ś „.new”? Uważam to za …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.