In Operators§

See primary documentation in context for infix max.

Returns the largest of the arguments, as determined by cmp semantics.

my $foo = -42;
$foo max= 0   # read as: $foo increases to 0

Note: Before 2022.06, in the cases of ties &max would return the first argument with that value, whereas &[max] would return its RHS. After 2022.06, &[max] returns its LHS in the case of ties, and now both return the same value as dictated by their List associativity.

say max 0, False; # OUTPUT: «0␤»
say 0 max False;  # OUTPUT: «0␤»
say max False, 0; # OUTPUT: «False␤»
say False max 0;  # OUTPUT: «False␤»

In Any§

See primary documentation in context for routine max.

multi method max(&by?, :$k, :$v, :$kv, :$p )
multi        max(+args, :&by, :$k, :$v, :$kv, :$p)

The interface of the max method / routine is the same as the one of min. But instead of the lowest value, it will return the highest value.

say (1,7,3).max();                # OUTPUT: «7␤»
say (1,7,3).max({1/$_});          # OUTPUT: «1␤»
say max(1,7,3,:by( { 1/$_ } ));   # OUTPUT: «1␤»
say max(1,7,3);                   # OUTPUT: «7␤»
max( %(a => 'B', b=> 'C' ) ).say; # OUTPUT: «b => C␤»

As of the 2023.08 Rakudo compiler release:

say <a b c c>.max(:k);  # OUTPUT:«(2 3)␤»
say <a b c c>.max(:v);  # OUTPUT:«(c c)␤»
say <a b c c>.max(:kv); # OUTPUT:«(2 c 3 c)␤»
say <a b c c>.max(:p);  # OUTPUT:«(2 => c 3 => c)␤»

In Range§

See primary documentation in context for method max.

method max(Range:D:)

Returns the end point of the range.

say (1..5).max;                                   # OUTPUT: «5␤»
say (1^..^5).max;                                 # OUTPUT: «5␤»

In Supply§

See primary documentation in context for method max.

method max(Supply:D: &custom-routine-to-use = &infix:<cmp> --> Supply:D)

Creates a supply that only emits values from the given supply if they are larger than any value seen before. In other words, from a continuously ascending supply it will emit all the values. From a continuously descending supply it will only emit the first value. The optional parameter specifies the comparator, just as with Any.max.