Почему smartmatch возвращает разные значения в зависимости от порядка операндов?

У меня есть массив, для которого следующий тест возвращает true:

1 ~~ @a

И все же следующее test возвращает false:

@a ~~ 1

Я читал в Learning Perl , что размещение значений по обе стороны от оператора smartmatch не имеет значения, но, очевидно, в приведенном выше коде имеет значение. Это почему? Проверяют ли два оператора разные вещи?

9
задан ThisSuitIsBlackNot 13 September 2016 в 17:38
поделиться