13. Создание своих операторов в Perl 6, часть 1

Perl 6 позволяет создавать кастомные операторы. По сути это обычная функция с необычным именем. Мы рассмотрим типы операторов с следующий раз, а сегодня создадим простой префикс.

Префиксный оператор — это оператор, который стоит перед объектом (переменной, строкой, и т. д.). Пример префиксного оператора — унарный минус или префиксный инкремент:

-$x;
++$x;

Давайте создадим оператор §, который просто превращает строку в строку из заглавных букв.

sub prefix:<§>($str) {
    $str.uc
}

Синтаксис похож на создание обычной функции, но надо указать тип оператора (prefix в нашем случае) и, собственно, сам оператор. Унарный оператор требует одного операнда, который здесь передается как параметр функции.

Попробуем применить только что созданный оператор (прямо в той же программе):

say §'hello, world!';

На печати появляется HELLO, WORLD!, что и требовалось.

Допускается включать фантазию и создавать не только текстовые операторы, например:

sub prefix:<🔊>(Str $str) {
    $str.uc
}
say 🔊'hello, world!';

Тема по созданию операторов еще не исчерпана, до встречи в одном из следующих выпусков!

3 thoughts on “13. Создание своих операторов в Perl 6, часть 1

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s