Похоже, maxpairs
не нравится, когда его вызывают в списке с неопределенными значениями:
> my @foo; @foo[2] = 4; say @foo.maxpairs;
Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in block <unit> at <unknown file> line 1
(2 => 4)
max
не имеет такой же проблемы и, похоже, просто игнорирует неопределенные значения:
> my @foo; @foo[2] = 4; say @foo.max;
4
Та же ошибка возникает с:
> my @foo; @foo[2] = 4; say @foo.pairs.max(*.value)
Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in block <unit> at <unknown file> line 1
2 => 4
Таким образом, кажется, что неопределенные значения игнорируются только при использовании max
без параметра фильтра.
Это ошибка?