I like to code using more functional-like style working with iterators, so Base.Iterators
comes in handy, but I have problem understanding how its namespace is structured.
- It is part of the
Base
, yet it is not by default loaded in your namespace. - If you load it you need full name
Base.Iterators
not justIterators
. - Some commands are always available (
zip, enumerate
), others do not. - Even you write
using Base.Iterators
some commands still need a full name (Iterators.peel
), others do not.
I am just confused. Is there any rule to this? The documentation of Iterators
seems not to be helping much. I mix this all the time, it is hard to remember what exactly I need to write in each case.