Pytania otagowane jako raku

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

1
Dlaczego Duration.new działa z Int, ale nie z Rat?
Dlaczego przez pewien czas muszę ręcznie zmusić Szczura do Reala, ale nie Inta? To jest wersja Rakudo 2020.01 zbudowana na MoarVM wersja 2020.01.1 implementująca Perl 6.d. Na OSX. say $v.WHAT; #(Int) $v = Duration.new( $v ); say $v; #20 my $w = 20.0; say $w.WHAT; #(Rat) $w = Duration.new( $w.Real …
9 raku 

1
Tworzenie niestandardowego deklaratora
Powiedzmy, że używam pewien zestaw płyt kotłowych dość regularnie: class Foo { method abc($a: $b, $c, +@d) is pure { use Slang::Bar; … } method xyz($a: $b, $c, +@d) is pure { use Slang::Bar; … } method blarg($a: $b, $c, +@d) is pure { use Slang::Bar; … } } Wolałbym …
9 raku 

3
Jak mogę propagować i wychwytywać błędy zgłaszane w innym wątku w Raku?
Jaki jest najlepszy sposób na propagowanie błędów z oddzielnego wątku (np. Blok startowy, Proc :: Async lub sub zawierające je). Po prostu owijanie kodu, który wypuszcza nowy wątek w bloku try / CATCH, nie działa, a użycie funkcji czekania działa tylko w zależności od zwracanej wartości podprogramu (tzn. Sub powracające …
9 raku 

1
Jak przekształcić listę 2-elementową w hasz?
Mam listę dwuelementowych list, takich jak to, co otrzymujesz na przykład (1..5) Z (20..24), które chcę przekształcić w skrót (w tym przykładzie, co otrzymujesz {1 => 20, 2 => 21, 3 => 22, 4 => 23, 5 =>24}. Mógłbym to zrobić „ręcznie”, ale to nie jest nie jest zbyt elegancki …
9 raku 


1
Jak emulować wc -l w Raku
W Perlu 5 możesz emulować wc -lza pomocą oneliner: perl -lnE 'END {say $.}' test.txt Jak wdrożyć tę funkcjonalność w Raku Jeśli spróbujesz to zaimplementować: raku -e 'say "test.txt".IO.open.lines.elems' okazuje się powolny i zużywa dużo pamięci Informacje do odtworzenia: $ wget http://eforexcel.com/wp/wp-content/uploads/2017/07/1500000%20Sales%20Records.zip $ unzip "1500000 Sales Records.zip" $ mv "1500000 …
9 perl  raku 

1
Usuń element z listy lub tablicy bez artefaktu (Dowolny) w Raku
Przeszukałem Dokumentację Raku oraz kilka książek i samouczków oraz kilka wpisów Stackoverflow, aby dowiedzieć się, jak usunąć element z listy / tablicy w sposób czysty, tj. Bez umieszczania (Dowolnego) w miejscu usuniętego elementu my @s = <3 18 4 8 92 14 30>; my $item = 8; my $index = …
9 raku 

1
Jak mogę przekroczyć obietnicę w Raku?
Wiem, że mogę zaplanować, Promiseaby utrzymać się w określonym czasie my $promise = Promise.in($seconds); ale jak mogę zaplanować jego uszkodzenie? Mówiąc konkretnie, myślę o obietnicy, która „przekroczy limit czasu”, dzięki czemu pozostanie do pewnego czasu do dotrzymania, inaczej zawiedzie. Mogę to zrobić z innym Promise, tak: my $promise = Promise.new; …
9 promise  raku 
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.