Constructs an iteror that returns elements from an iterable following the
given sequence with starting value start and ending value end.
The sequence's step size is given by step.
Arguments
- object
iterable object through which this function iterates
- start
the index of the first element to return from
object- end
the index of the last element to return from
object- step
the step size of the sequence
- ...
passed along to
iteror(object, ...)
Details
The iterable given in object is traversed beginning with element
having index specified in start. If start is greater than 1,
then elements from the object are skipped until start is
reached. By default, elements are returned consecutively. However, if the
step size is greater than 1, elements in object are skipped.
If stop is Inf (default), the iteration continues until the
iteror is exhausted unless end is specified. In this case,
end specifies the sequence position to stop iteration.
Originally from package itertools2.
Examples
it <- i_slice(1:5, start=2)
nextOr(it, NULL) # 2
#> [1] 2
nextOr(it, NULL) # 3
#> [1] 3
nextOr(it, NULL) # 4
#> [1] 4
nextOr(it, NULL) # 5
#> [1] 5
it2 <- i_slice(1:10, start=2, end=5)
unlist(as.list(it2)) == 2:5
#> [1] TRUE TRUE TRUE TRUE
it3 <- i_slice(1:10, start=2, end=9, step=2)
unlist(as.list(it3)) == c(2, 4, 6, 8)
#> [1] TRUE TRUE TRUE TRUE