Documentation for routine reverse

Documentation for routine reverse, assembled from the following types:

class Any

From Any

(Any) routine reverse

Defined as:

multi        reverse(*@list  --> Seq:D)
multi method reverse(List:D: --> Seq:D)

Returns a Seq with the same elements in reverse order.

Note that reverse always refers to reversing elements of a list; to reverse the characters in a string, use flip.

Examples:

say <hello world!>.reverse;     # OUTPUT: «(world! hello)␤» 
say reverse ^10;                # OUTPUT: «(9 8 7 6 5 4 3 2 1 0)␤» 

class List

From List

(List) routine reverse

Defined as:

multi sub    reverse(*@list  --> Seq:D)
multi method reverse(List:D: --> Seq:D)

Returns a Seq with the same elements in reverse order.

Note that reverse always refers to reversing elements of a list; to reverse the characters in a string, use flip.

Examples:

say <hello world!>.reverse;     # OUTPUT: «(world! hello)␤» 
say reverse ^10;                # OUTPUT: «(9 8 7 6 5 4 3 2 1 0)␤» 

role Blob

From Blob

(Blob) method reverse

Defined as:

method reverse(Blob:D: --> Blob:D)

Returns a Blob with all elements in reversed order.

say Blob.new([123]).reverse;    # OUTPUT: «Blob:0x<03 02 01>␤» 
say blob16.new([2]).reverse;        # OUTPUT: «Blob[uint16]:0x<02>␤» 
say buf32.new([1632]).reverse;    # OUTPUT: «Buf[uint32]:0x<20 10>␤» 

class Range

From Range

(Range) method reverse

method reverse(Range:D: --> Seq:D)

Returns a Seq where all elements that the Range represents have been reversed. Note that reversing an infinite Range won't produce any meaningful results.

say (1^..5).reverse;                              # OUTPUT: «(5 4 3 2)␤» 
say ('a'..'d').reverse;                           # OUTPUT: «(d c b a)␤» 
say (1..Inf).reverse;                             # OUTPUT: «(Inf Inf Inf ...)␤» 

class Supply

From Supply

(Supply) method reverse

method reverse(Supply:D: --> Supply:D)

Waits until the given Supply is done, then creates a Supply to which all values seen are emitted in reverse order.

my $s = Supply.from-list(123);
my $t = $s.reverse;
$t.tap(&say);           # OUTPUT: «3␤2␤1␤»