Это выглядит, как будто скалярное сам по себе является своим родом список одного пункта:Почему я вижу странное поведение индекса на скалярах?
> "foo"[1]
Index out of range. Is: 1, should be in 0..0
in block <unit> at <unknown file> line 5
> "foo"[0]
foo
> "foo"[*-1]
foo
Я говорю то список один, так как списки, кажется, не имеют диапазон от их индексов:
> (0, 1, 2)[3]
Nil
Что здесь происходит. Что я не понимаю об операторе []
.
Разве вы не смотрите на (0, 1, 2) [2], поскольку нет третьего элемента этого списка? – BarneySchmale
@BarneySchmale Я демонстрирую разницу в поведении вне диапазона между сортировкой по шкале (dies) и фактическими списками (возвращает 'Nil'), поэтому нет. –
Оператор '[]' подробно объясняется [здесь] (https://docs.perl6.org/language/subscripts.html). Он разработан очень универсальным и многоразовым - то, что происходит в случае несуществующих элементов, зависит от объекта, который вы индексируете. – smls