[#] [Перевод] Perl 6 и умное соответствие
habrabot(difrex,1) — All
2015-03-26 11:00:02


Помните ли вы [статью про оператор последовательностей ][1]в Perl 6? Последним аргументом он принимает ограничение, которое останавливает генерацию последовательности. К примеру

1, 2, 4 ... 32; # 1 2 4 8 16 32
1, 2, 4 ... * > 10; # 1 2 4 8 16


В первом случае используется числовое сравнение. Во втором запись \* > 10 интерпретируется как замыкание -> $x \{ $x > 10 \}. Оператор последовательностей выполняет «волшебное» сравнение в зависимости от типа соответствия. Это сравнение называется «умным соответствием» («smartmatching»), и эта концепция появляется во многих местах Perl 6. Примеры: [Читать дальше →][2]

[1]: http://habrahabr.ru/post/253047/
[2]: http://habrahabr.ru/post/254029/#habracut