Вопросы по теме 'raku'

Сортировка хеш-пар kv
my %hash = two => 2, three => 3, one => 1, ; for %hash.sort(*.key)>>.kv -> ($key, $value) { say "'$key' => '$value'"; } Является ли %hash.sort({.key})>>.kv эквивалентом сортировки выше? Почему...
676 просмотров
schedule 19.03.2024

Как мне `говорить` и `печатать` в буфер?
В Perl 6 тип Str является неизменяемым, поэтому кажется разумным использовать изменяемый буфер вместо объединения большого количества строк. Далее, мне нравится возможность использовать один и тот же API независимо от того, пишет ли моя функция в...
164 просмотров
schedule 02.11.2022

Какого типа списки любого типа в Perl 6?
Рассмотрим следующий код Python (в качестве примера): a = 5 b = "a" l = [a, b] # -> typing.List[typing.Any] print(l) # [5, "a"] Тип списка l : list ; он не ограничен типами, которые он содержит, потому что Python имеет довольно...
250 просмотров
schedule 16.12.2023

Как сделать `-n=3` таким же, как `-n 3` в Perl 6?
В Perl 6 есть встроенная функция синтаксического анализа командной строки с помощью MAIN . Однако я столкнулся с проблемой, которая кажется тривиальной, но я не могу понять ее. Простой MAIN : sub MAIN(Int :n(:$num)) { say "You passed: "...
147 просмотров
schedule 18.12.2023

Как операции с наборами Perl 6 сравнивают элементы?
Бег под мором (2016.10) Рассмотрим этот код, который создает набор и проверяет членство: my $num_set = set( < 1 2 3 4 > ); say "set: ", $num_set.perl; say "4 is in set: ", 4 ∈ $num_set; say "IntStr 4 is in set: ", IntStr.new(4, "Four")...
352 просмотров
schedule 21.10.2022

Назначение массива perl6: указатель или копия?
В perl6 я хочу присвоить массив другому массиву и сделать результирующий массив отдельным объектом, но кажется, что ни прямое присвоение, ни клонирование не могут сделать то, что я хочу. Есть ли способ скопировать массив с помощью одного выражения...
121 просмотров

Как я могу открыть файл для записи, только если он не существует в Perl 6?
Согласно открытым документам, существуют наречия для чтения, письма и добавления. Это нормально, чего я и ожидал. У меня есть конкретное приложение, которое использует sysopen для лучшего контроля, и я пытался переписать его на Perl 6. Я знаю о...
205 просмотров
schedule 01.03.2024

Насколько безопасно делиться массивом между потоками?
Насколько безопасно делиться массивом между обещаниями, как я сделал это в следующем коде? #!/usr/bin/env perl6 use v6; sub my_sub ( $string, $len ) { my ( $s, $l ); if $string.chars > $len { $s = $string.substr( 0, $len );...
958 просмотров
schedule 18.01.2024

Почему метод unwrap в Perl 6 является методом Routine?
Есть метод unwrap , но мне кажется, что я должен его использовать не так, как следует. Похоже, это должна быть либо отдельная процедура, либо метод в другом классе. Что мне не хватает? Похоже, что ему все равно, что его вызывает, пока он...
185 просмотров
schedule 06.06.2024

Массив структур как атрибут структуры Perl 6 NativeCall
Я пытаюсь инкапсулировать структуру C, один из членов которой является массивом указателей на структуры, и у меня возникают проблемы с тем, чтобы понять, как это сделать. Допустим, код C выглядит так: struct foo { unsigned char a; }; struct...
196 просмотров
schedule 14.05.2024

Могу ли я изменить сленг Perl 6 внутри метода?
Perl 6 Regex является более конкретным типом Method , поэтому у меня возникла идея, что, может быть, я смогу сделать что-нибудь магическое с помощью обычного метода, который производит то же самое. Мне особенно любопытно делать это без изменения...
251 просмотров
schedule 13.11.2023

Есть ли канонический способ распечатать трассировку стека в Perl 6?
В perl 5 я бы использовал любую из функций Carp. В Perl 6 поиск не помогал, и прагма трассировки напечатает все стеки а не только тот, который мне нужен. Я мог использовать только старый прием: выбросить исключение, поймать его и распечатать:...
356 просмотров
schedule 28.09.2022

как создавать и экспортировать динамические операторы
У меня есть несколько классов (и потребуется еще немало), которые выглядят следующим образом: use Unit; class Unit::Units::Ampere is Unit { method TWEAK { with self { .si = True; # m· kg· s· A ·K·...
107 просмотров
schedule 03.04.2024

Как заставить скрипт Perl 6 выйти при вводе Ctrl+D?
loop { my $word = prompt '> ' ; say $word; } Как правильно сделать exit , если/когда вместо вывода слова я нажму Ctrl+D?
150 просмотров
schedule 23.03.2024

Что на самом деле делает Duckmap?
Из документации duckmap применит &block к каждому элементу и вернет новый список с определенными возвращаемыми значениями блока. Для неопределенных возвращаемых значений duckmap попытается спуститься в элемент, если этот элемент...
228 просмотров

Каков синтаксис удаления элемента массива, если вы не знаете его индекс?
Вы можете использовать наречие :delete в Perl 6 чтобы удалить элемент массива, если вы знаете его индекс: my @letters = <a b c>; @letters[0]:delete; say @letters # OUTPUT: «[(Any) b c]␤» Однако вы не можете этого сделать, если не...
418 просмотров
schedule 06.10.2022

Как вставить пробел между китайским иероглифом и английским иероглифом?
У меня есть утверждение, в котором китайский иероглиф и английский иероглиф находятся рядом друг с другом: 我Love Perl 6哈哈 Я хочу вставить пробел между китайским иероглифом и английским иероглифом: 我 Love Perl 6 哈哈 Я ищу, что...
828 просмотров
schedule 18.09.2022

Тестирование с помощью `use-ok` на модулях с определением` MAIN`
Я пишу новый проект Perl 6 для работы и хотел бы иметь возможность проверить, все ли части могут быть use d правильно. Для этого я использую подпрограмму use-ok из модуля Test . Я пытаюсь легко протестировать все файлы модуля, используя...
153 просмотров
schedule 21.01.2024

Perl 6: обратная косая черта в транслитерации (tr///)
Во время экспериментов с tr/// я заметил, что он, кажется, не переводит обратную косую черту, даже когда экранирован. Например, say TR"\^/v"." given 'v^/\\'; say TR"\\^/v"." given 'v^/\\'; say TR"\ ^/v"." given 'v^/\\'; Все они вывод...
230 просмотров
schedule 25.11.2022

Perl6 IO::Socket::Async усекает данные
Я переписываю свой сервер сокетов P5 в P6, используя IO::Socket::Async, но полученные данные усекаются на 1 символ в конце, и этот 1 символ получен при следующем соединении. Кто-то из группы Perl6 в Facebook (Джонатан Уортингтон) указал, что это...
225 просмотров
schedule 06.10.2022