Вопросы с тегом «raku»

9
Как я могу распространять и ловить ошибки, брошенные в другой поток в Raku?

Каков наилучший способ распространения ошибок из отдельного потока (например, начальный блок, Proc :: Async или подпункт, содержащий их). Простое завершение кода, который раскручивает новый поток в блоке try / CATCH, не работает, а использование await работает только в зависимости от возвращаемого...

9
Краткая печать математических серий в Раку

Математическая серия, например, последовательная последовательность, представленная здесь в виде массива: 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) }; Печать: a0 = 0 a1 = 1 a2 = 2 ... a8 = 8 a9 =...

9
Как сделать список из 2-х элементов в хеш?

У меня есть список двухэлементных списков, например, из того, что вы получите, например (1..5) Z (20..24), из которого я хочу сделать хеш (в этом примере то, что вы получите {1 => 20, 2 => 21, 3 => 22, 4 => 23, 5 =>24}. Я мог бы сделать это «вручную», но это не не слишком элегантно,...

9
Почему по умолчанию Raku if / while / loop / when блоки имеют одинаковое значение идентичности (.WHICH)?

За исключением блока, в котором я объявил подпись, все блоки имеют одинаковое значение идентификатора и утверждают, что объявлены в строке 1 независимо от того, где они происходят. Может ли кто-нибудь пролить свет на то, почему это так? say 「Let's look at some blocks…」; if True { &?BLOCK.say; }...

9
Как эмулировать wc -l в Raku

В Perl 5 вы можете эмулировать, wc -lиспользуя oneliner: perl -lnE 'END {say $.}' test.txt Как реализовать эту функциональность на Raku Если вы попытаетесь реализовать это: raku -e 'say "test.txt".IO.open.lines.elems' он оказывается медленным и использует много памяти Информация для...

9
Удалить элемент из списка или массива без (Любого) артефакта в Raku

Я просмотрел документацию Raku и несколько книг и учебных пособий, а также несколько сообщений Stackoverflow, чтобы узнать, как аккуратно удалить элемент из списка / массива, т. Е. Без (Любого) вместо удаленного элемента. my @s = <3 18 4 8 92 14 30>; my $item = 8; my $index = @s.first($item,...

9
Perl regex против Raku regex, различия в движке?

Я пытаюсь перевести решение на основе регулярных выражений для задачи о ранце из Perl в raku. Подробности о Perlmonks Решение Perl создает это регулярное выражение: (?<P>(?:vvvvvvvvvv)?) (?<B>(?:vv)?) (?<Y>(?:vvvv)?) (?<G>(?:vv)?) (?<R>(?:v)?) 0 (?= (?(?{ $1 })wwww|)...

9
Как я могу прервать обещание в Раку?

Я знаю, что могу запланировать, Promiseчтобы быть сохраненным в течение определенного количества времени с my $promise = Promise.in($seconds); но как я могу запланировать его нарушение? В частности, я имею в виду обещание, которое «истечет», так что у него будет определенное количество времени для...

9
Различают исключение и сбой в блоке CATCH [RAKU]

Мы знаем, что Отказ может быть обработан блоком CATCH. В следующем примере мы создаем отказ AdHoc (в другом подпрограмме) и обрабатываем исключение в блоке CATCH (в моем подпрограмме) sub my-sub { try { CATCH { when X::AdHoc { say 'AdHoc Exception handled here'; .resume } default {say 'Other...

9
Можно ли экспортировать подмножества в Raku?

Я хотел бы определить несколько подмножеств, к которым я также добавляю несколько ограничений и несколько dieоператоров для некоторых полезных сообщений об ошибках. Я не хочу определять их в верхней части модуля, который использует эти подмножества, и вместо этого хочу поместить их в другой модуль,...

9
Raku Rebless больше не работает с унаследованными классами

Код, приведенный в этом потоке, больше не работает: как я могу восстановить объект в Perl 6? Я написал этот кусок кода в прошлом году, и тогда это сработало. Теперь это не так: class Person { ; } class Woman is Person { ; } my $tom = Person.new; my $lisa = Woman.new; say $tom.^name; # -> Person...

9
Расчет числа е с использованием Raku

Я пытаюсь вычислить постоянную е (число Эйлера Эйка ), вычисляя формулу Чтобы вычислить факториал и деление за один снимок, я написал это: my @e = 1, { state $a=1; 1 / ($_ * $a++) } ... *; say reduce * + * , @e[^10]; Но это не сработало. Как это сделать...

9
Остановка грамматики Раку в EOS (конец строки)

В процессе написания переводчика одного музыкального языка на другой (ABC для Alda) в качестве предлога для изучения DSL-способности Raku, я заметил, что, похоже, нет способа прекратить a .parse! Вот мой сокращенный демонстрационный код: #!/home/hsmyers/rakudo741/bin/perl6 use v6d; # use...

9
Нахождение смежных последовательностей равных элементов в списке Раку

Я хотел бы найти смежные последовательности равных элементов (например, длины 2) в списке 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)) Этот код выглядит нормально, но когда еще одна 2 добавляется после последовательности 2 2 2или когда...