In List§
See primary documentation in context for routine kv
sub kv( --> Seq)method kv(List: --> Seq)
Returns an interleaved sequence of indexes and values. For example
say <a b c>.kv; # OUTPUT: «(0 a 1 b 2 c)»
In Pair§
See primary documentation in context for method kv
multi method kv(Pair: --> List)
Returns a two-element List
with the key and value parts of Pair
, in that order. This method is a special case of the same-named method on Hash
, which returns all its entries as a list of keys and values.
my = (Raku => "d");say .kv[0]; # OUTPUT: «Raku»say .kv[1]; # OUTPUT: «d»
In Capture§
See primary documentation in context for method kv
multi method kv(Capture: --> Seq)
Returns a Seq
of alternating keys and values. The positional keys and values, if any, comes first followed by the named keys and values.
my = \(2, 3, apples => (red => 2));say .kv; # OUTPUT: «(0 2 1 3 apples red => 2)»
In role Setty§
See primary documentation in context for method kv
multi method kv(Setty: --> Seq)
Returns a Seq
of the set's elements and True
values interleaved.
my = Set.new(1, 2, 3);say .kv; # OUTPUT: «(3 True 1 True 2 True)»
In role Baggy§
See primary documentation in context for method kv
method kv(Baggy: --> Seq)
Returns a Seq
of keys and values interleaved.
my = bag <eggs spam spam spam>;say .kv; # OUTPUT: «(spam 3 eggs 1)»my = ("a" => 5, "b" => 2, "a" => 1).BagHash;say .kv; # OUTPUT: «(a 6 b 2)»
In role Enumeration§
See primary documentation in context for method kv
multi method kv(::?CLASS:)
Returns a list with key and value of the enum-pair.
say g.kv; # OUTPUT: «(g 1)»
In Map§
See primary documentation in context for method kv
method kv(Map: --> Seq)
Returns a Seq
of keys and values interleaved.
Map.new('a', 1, 'b', 2).kv # (a 1 b 2)
In Any§
See primary documentation in context for routine kv
multi method kv(Any:)multi method kv(Any:)multi kv()
Returns an empty List
if the invocant is a type object:
Sub.kv.say ;# OUTPUT: «()»
It calls list
on the invocant for value objects and returns the result of List.kv on it as a list where keys and values will be ordered and contiguous
<1 2 3>.kv.say; # OUTPUT: «(0 1 1 2 2 3)»
In the case of Positional
s, the indices will be considered keys.