По вопросам, связанным с языком программирования Raku (ранее известным как Perl 6).
3 ответа

perl6 rakudo 2016.11 match пытается присвоить переменную только для чтения, почему не в 2016.07?

У меня есть следующий метод в классе действий, который хорошо работал в Rakudo 2016.07, но я только что установил 2016.11, и теперь новый Rakudo говорит, что мой метод пытается присвоить переменную только для чтения, и я просто не вижу проблемы: met…
05 дек '16 в 08:35
0 ответов

Как использовать certfp с IRC::Client

Я использовал IRC::Client пока что для ряда IRC-ботов, и я бы хотел использовать его и для нового проекта. Тем не менее, на этот раз мне нужно, чтобы бот аутентифицировался с помощью certfp. Поиск "certfp" в репозитории GitHub модуля не дает результ…
09 дек '18 в 12:53
1 ответ

Догоняя 'require' для класса метамодели

Я определил собственный класс метамодели для создания особого вида классов. Теперь я хотел бы, чтобы эти классы автоматически регистрировали себя с помощью специального менеджера. В принципе, это было бы так (compose вызываться каждый раз, когда заг…
14 дек '18 в 03:45
3 ответа

Как мне сохранить значение, возвращаемое либо run, либо shell?

Допустим, у меня есть этот скрипт: # prog.p6 my $info = run "uname"; Когда я бегу prog.p6, Я получил: $ perl6 prog.p6 Linux Есть ли способ сохранить строковую версию возвращаемого значения и предотвратить его вывод на терминал? Уже есть похожий вопр…
31 дек '18 в 04:32
2 ответа

Как я могу восстановить отредактированный модуль perl6, который я скачал?

Я установил Time::Duration, и он не прошел большинство тестов. Я хочу иметь возможность перестроить модуль - с моими изменениями - из локально сохраненного модуля. Я отредактировал файл, который содержит модуль (который соответствует Duration.pm6): …
03 янв '19 в 13:37
1 ответ

Имя метода класса с ^ не вызывается должным образом

Когда я делаю метод класса, который начинается с ^, и я пытаюсь вызвать его, это дает мне ошибку. class C { method ^test () { "Hi" } } dd C.new.test; Too many positionals passed; expected 1 argument but got 2 in method test at .code.tio line 1 in bl…
11 янв '19 в 08:46
1 ответ

Могут ли модули быть исправлены?

Я хочу иметь возможность устанавливать модули исправлений во время работы программы для проекта, над которым я работаю. Я попробовал это, но это не работает: qx[rm -r .precomp/*]; try require PSBot; try PSBot.test; Возможно ли это сделать? Если так,…
11 янв '19 в 22:12
4 ответа

Как передать метод класса в качестве аргумента другому методу класса в Perl 6

У меня есть скрипт, подобный приведенному ниже. Намерение состоит в том, чтобы иметь различные методы фильтрации для фильтрации списка. Вот код 2 3 class list_filter { 4 has @.my_list = (1..20); 5 6 method filter($l) { return True; } 7 8 # filter me…
03 янв '18 в 15:28
3 ответа

Как получить все подписи multi sub или build-ins?

Я определил multi sub которая имеет две подписи: multi sub mie(Str $s, Int $i) { $s x $i } multi sub mie(Int $s, Int $i) { ... } say &mie.signature; # ;; Mu | is raw) Я хочу получить подпись этого multi sub, но вышеупомянутый результат не то, чт…
26 сен '18 в 10:20
2 ответа

Как определить строки фиксированной длины в структуре Perl6 NativeCall?

У меня есть сторонняя библиотека C, которая определяет структуру, похожую на: struct myStruct { int a; int b; char str1[32]; char str2[32]; }; И функция, которая берет указатель на эту структуру и заполняет ее. Мне нужен мой собственный вызов Perl6,…
29 сен '17 в 03:08
2 ответа

Как присвоить.lines Seq переменной и выполнить итерацию по ней?

Назначение итератора переменным изменениям, очевидно, как Seq ведет себя. Например use v6; my $i = '/etc/lsb-release'.IO.lines; say $i.WHAT; say '/etc/lsb-release'.IO.lines.WHAT; .say for $i; .say for '/etc/lsb-release'.IO.lines; результаты в: (Seq)…
28 сен '18 в 15:33
3 ответа

Получение абсолютного пути к исполняемому файлу perl для текущего процесса

Есть ли способ получить абсолютный путь к исполняемому файлу Perl для текущего процесса? $ ^ X даст мне имя исполняемого файла Perl, но в документе говорится, что иногда это будет относительный путь, и это, похоже, верно для OS X, например. ExtUtils…
30 апр '12 в 20:31
2 ответа

Rakudo Perl 6 Portable Edition

Есть портативное издание Perl 6? или его можно скомпилировать и установить некоторые модули zip all в один каталог, а затем разархивировать на разных машинах с одинаковой ОС?
16 апр '18 в 18:10
2 ответа

Как я могу передать последовательность в качестве параметра в Perl 6?

В Perl 6 я могу повторить буквальную последовательность: .say for 0 ... 3; Я могу привязать к скаляру и повторить это: my $s := 0 ... 3; .say for $s; Но я не могу привязать скаляр, передать его в качестве аргумента и затем повторить это: my $t := 0 …
21 ноя '16 в 05:19
1 ответ

Как вызвать Perl 6 из Java?

Регулярные выражения / грамматики Perl 6 намного лучше структурированы, более мощные и читаемые, чем Perl 5 или связанные с ним Perl-совместимые регулярные выражения везде, включая регулярные выражения в Java. Я ищу способ выполнить код Perl 6 с эти…
13 сен '18 в 08:13
2 ответа

Несколько компонентов в срезе массива - эквивалент perl5: @a[0..1,3]

Очень простой вопрос, но я не могу найти что-нибудь о нескольких диапазонах в документах. Как выбрать несколько диапазонов из массива perl6? my @a = "a","b","c","d"; @a[0..1,3] # expecting array with a, b & d as p5 Кажется, это возвращает своего…
03 окт '18 в 10:56
3 ответа

Почему ограничение именованного параметра Perl 6 определенным значением делает его обязательным?

Рассмотрим эти подпрограммы, которые все принимают один именованный параметр. Именованные параметры должны быть необязательными, и я не видел ничего, что могло бы сказать, что есть исключения из этого. Без ограничений типа нет проблем; указанный пар…
09 янв '18 в 10:40
0 ответов

Экспорт динамически изменяемых переменных?

По сути, вопрос скорее в грамматике, но я думаю, что это может быть более интересным упражнением по динамическим переменным. У меня есть роль грамматики с прототипом токена (пример упрощен, чтобы продемонстрировать идею): proto token foo {*} token f…
15 ноя '18 в 19:22
1 ответ

Какую оболочку использует Perl 6 shell()?

Оболочка Perl 6 отправляет команды "оболочке", но не говорит, что это такое. Я постоянно получаю bash на своей машине, но я не знаю, могу ли я положиться на это. $ perl6 -e 'shell( Q/echo $SHELL/ )' /bin/bash $ csh % perl6 -e 'shell( Q/echo $SHELL/…
25 апр '18 в 19:25
1 ответ

Как смягчить ошибку в Rakudo с NativeCall?

Я хочу иметь возможность использовать двойной указатель в классе с REPR CStruct/CPointer: typedef struct CipherContext { void *cipher; const uint8_t *key; size_t key_len; const uint8_t *path; size_t path_len; size_t block_size; void *handle; int (*c…
05 фев '19 в 20:11