Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct EveryNth{T<:Integer}
- n::T
- start::T
- stop::T
- end
- function Base.iterate(i::EveryNth{T}, state=(i.start, zero(T))) where T
- e, c = state
- c > i.stop && return nothing
- e, (e+i.n, c+i.n)
- end
- Base.length(iter::EveryNth) = Int((iter.stop - iter.start) / iter.n)
- Base.eltype(iter::EveryNth{T}) where T = T
- iter = EveryNth(2, 0, 10)
- length(iter)
- eltype(iter)
- for i = iter
- println(i)
- end
Add Comment
Please, Sign In to add comment