Вопросы по теме '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 просмотров
schedule
07.01.2024
Как я могу открыть файл для записи, только если он не существует в 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 просмотров
schedule
02.12.2023
Каков синтаксис удаления элемента массива, если вы не знаете его индекс?
Вы можете использовать наречие :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