Pull to refresh
  • by relevance
  • by date
  • by rating

Метаоператоры X и Z в Perl 6

Perl *Programming *
Одна из новых идей Perl 6 – метаоператор. Это оператор, который можно скомбинировать с обычным оператором, изменив его поведение. Таких метаоператоров есть несколько штук, но в этой статье мы рассмотрим только X и Z.

Оператор X вы могли видеть в роли инфиксного комбинирования. Он комбинирует списки, по элементу из каждого, во всех возможных комбинациях:

> say ((1, 2) X ('a', 'b')).perl
((1, "a"), (1, "b"), (2, "a"), (2, "b"))


Однако, запись infix: - это короткая запись метаоператора X, примененного к оператору конкатенации infix:<,> . И действительно, можно написать:

> say ((1, 2) X, (10, 11)).perl
((1, 10), (1, 11), (2, 10), (2, 11))


Что произойдёт, если мы применим Х к другому инфиксному оператору? Например, к infix:<+>
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views 5.8K
Comments 3