Аргументы командной строки и элементы массивов

В первой строке в функции main() примера parrot/languages/perl6/examples/qsort.p6 делается попытка чтения аргументов командной строки, указанных при запуске скрипта: Читать далее «Аргументы командной строки и элементы массивов»

Доступ к элементам массивов

Скалярной переменной $p присваивается значение одного из элементов массива @a. Индекс определяет переменная $l, которая после выполнения присваивания увеличивается на единицу. Отличие от прежнего синтаксиса Perl 5 заключается в том, что для обращения к отдельному элементу массива не требуется изменять символ, обозначающий тип переменной. Читать далее «Доступ к элементам массивов»

Регулярные выражения — 4. Именованные правила

В механизме обработки регулярных выражений в Perl 6 появилось новое понятие — именованные правила (rules). Правило определяют аналогично функции (с использованием ключевого слова rule), однако тело правила содержит не perl-код, а некоторое регулярное выражение. Читать далее «Регулярные выражения — 4. Именованные правила»

Регулярные выражения — 5. Анонимные правила

Как и обычные функции (sub), правила (rules) регулярных выражений допустимо определять не в виде отдельного именованного блока, а непосредственно по ходу работы программы. Само правило записывают внутри фигурных скобок, перед которыми стоит ключевое слово rule. Читать далее «Регулярные выражения — 5. Анонимные правила»

Оператор for — 7. Точка с запятой

Оператор for позволяет одновременно организовать несколько переменных-счетчиков таким образом, что каждая из них будет последовательно принимать значения из собственного предопределенного списка. Для этого слева и справа от лексемы -> следует записать соответствующие друг другу списки и скаляры. Читать далее «Оператор for — 7. Точка с запятой»

Объявление и определение

Понятия объявления и определения в контексте Perl (особенно предыдущих версий) встречаются не очень часто. Однако, с развитием языка и учитывая идеологическую близость отдельных категорий категориям языка C++, есть смысл объяснить различие между объявлением и определением. К сожалению, путаница встречается и в книгах, особенно переводных. Читать далее «Объявление и определение»

Оригинальная запись условия цикла while

Сегодня в группе обсуждения языка The Perl6 Language List (perl6-language@perl.org) проскользнул интересный пример записи условия в операторе while. Если исключить лишнее (в нашем контексте), останется такой простой код: Читать далее «Оригинальная запись условия цикла while»

Оператор for — 6. «Устойчивость» переменной цикла

Уже известно, что переменная, объявленная в заголовке for(), локальна в пределах тела цикла: она скрывает любую ранее объявленную переменную с тем же именем и прекращает существование по завершении цикла. Читать далее «Оператор for — 6. «Устойчивость» переменной цикла»

Оператор loop. «Свобода» переменной цикла

Программа в предыдущей заметке показала, что набор значений, которые принимает переменная в цикле for, определен раз и навсегда (разумеется, команда завершения цикла last не в счет). Цикл допустимо объявить по-иному, с помощью оператора loop(). Синтаксически он совпадает с циклом for() в C++ и Perl 5. Читать далее «Оператор loop. «Свобода» переменной цикла»