Documentation for routine skip
assembled from the following pages:
Class: Any §
From Any
(Any) method skip §
Defined as:
multi method skip()multi method skip(Whatever)multi method skip(Callable )multi method skip(Int() )
Creates a Seq from 1-item list's iterator and uses Seq.skip
on it, please check that document for real use cases; calling skip
without argument is equivalent to skip(1)
.
Calling it with Whatever
will return an empty iterator:
say <1 2 3>.skip(*); # OUTPUT: «()»
The multi that uses a Callable is intended mainly to be used this way:
say <1 2 3>.skip(*-1); # OUTPUT: «(3)»
Instead of throwing away the first $n
elements, it throws away everything but the elements indicated by the WhateverCode, in this case all but the last one.
Class: Supply §
From Supply
(Supply) method skip §
method skip(Supply: Int(Cool) = 1 --> Supply)
Returns a new Supply
which will emit all values from the given Supply
except for the first $number
values, which will be thrown away.
my = Supplier.new;my = .Supply; = .skip(3);.tap();.emit() for 1..10; # OUTPUT: «45678910»
Module: Test §
From Test
(Test) sub skip §
Defined as:
multi sub skip()multi sub skip(, = 1)
Skip $count
tests, giving a $reason
as to why. By default only one test will be skipped. Use such functionality when a test (or tests) would die if run.
sub num-forward-slashes() ; if ~~ 'linux' else
Note that if you mark a test as skipped, you must also prevent that test from running.
Class: Seq §
From Seq
(Seq) method skip §
Defined as:
multi method skip(Int() = 1 --> Seq)
Returns a Seq containing whatever is left of the invocant after throwing away $n
of the next available values. Negative values of $n
count as 0. Also can take a WhateverCode to indicate how many values to skip from the end. Will block on lazy Seqs until the requested number of values have been discarded.
say (1..5).map().skip; # OUTPUT: «(2,3,4,5)» say (1..5).map().skip(3); # OUTPUT: «(4,5)» say (1..5).map().skip(5); # OUTPUT: «()» say (1..5).map().skip(-1); # OUTPUT: «(1,2,3,4,5)» say (1..5).map().skip(*-3); # OUTPUT: «(3,4,5)»