я определил новый тип Tuple
следующим образом:Почему Perl6 не проверяет длину массива после добавления?
subset Tuple of Array where { .elems == 2 && .[0] < .[1] };
my Tuple $t = [1, 2];
say $t; # [1 2] So far, so good.
Я не могу инициализировать его с более коротким или более массивом или с [2, 1]
, как и ожидалось. Но я могу добавить к нему:
$t.append(3);
say $t; # [1 2 3] Ouch!
Как это возможно?