IndexingOps
Provides indexing operations for a Seq considered circular.
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object SymmetryOpstrait TransformingOpstrait SlicingOpstrait IteratingOpstrait ComparingOpstrait NecklaceOpsobject RingSeqtrait SymmetryOpsShow all
Members list
Type members
Types
For improved readability, the index of a Seq.
For improved readability, the index of a Seq.
Attributes
For improved readability, the index of a circular Seq.
For improved readability, the index of a circular Seq.
Attributes
- Note
-
any value is a valid index, provided that
Seqis not empty
Extensions
Extensions
Gets the element at some circular index.
Gets the element at some circular index.
Value parameters
- i
Attributes
- Throws
-
java.lang.ArithmeticException
if
Seqis empty - Example
-
Seq(0, 1, 2).applyO(3) // 0
Normalize a given index of a circular Seq
Finds the circular index of the first element equal to a given value, searching circularly from a given circular index (the circular version of indexOf).
Finds the circular index of the first element equal to a given value, searching circularly from a given circular index (the circular version of indexOf).
The whole ring is searched, wrapping past the end back to the start.
Value parameters
- elem
-
the element value to search for
- from
Attributes
- Returns
-
the Index in
[0, size)of the first element found at or after circular index ''from'', or -1 if the element is not in the sequence. - Example
-
Seq(0, 1, 2).indexOfO(0, 1) // 0
Optionally gets the element at some circular index (the circular version of lift).
Optionally gets the element at some circular index (the circular version of lift).
Since every circular index is valid on a non-empty sequence, this returns None only when the sequence is empty.
Value parameters
- i
Attributes
- Example
-
Seq(0, 1, 2).liftO(3) // Some(0) Seq.empty[Int].liftO(0) // None