TransformingOps
Provides rotation and reflection operations for a Seq considered circular.
Attributes
- Graph
-
- Supertypes
- Known subtypes
-
trait SlicingOpstrait IteratingOpstrait ComparingOpstrait NecklaceOpsobject RingSeqtrait SymmetryOpsShow all
Members list
Type members
Inherited types
For improved readability, the index of a Seq.
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 - Inherited from:
- IndexingOps
Extensions
Extensions
Reflects the sequence to start at some circular index.
Reflects the sequence to start at some circular index.
Value parameters
- i
Attributes
- Returns
-
a sequence consisting of all elements reversed and rotated to start at circular index ''i''.
- Example
-
Seq(0, 1, 2).reflectAt() // Seq(0, 2, 1)
Rotates the sequence to the left by some steps.
Rotates the sequence to the left by some steps.
Value parameters
- step
-
the circular distance between each old and new position
Attributes
- Returns
-
a sequence consisting of all elements rotated to the left by ''step'' places. If ''step'' is negative the rotation happens to the right.
- Example
-
Seq(0, 1, 2).rotateLeft(1) // Seq(1, 2, 0)
Rotate the sequence to the right by some steps.
Rotate the sequence to the right by some steps.
Value parameters
- step
-
the circular distance between each new and old position
Attributes
- Returns
-
a sequence consisting of all elements rotated to the right by ''step'' places. If ''step'' is negative the rotation happens to the left.
- Example
-
Seq(0, 1, 2).rotateRight(1) // Seq(2, 0, 1)
Rotates the sequence to start at some circular index.
Rotates the sequence to start at some circular index.
Value parameters
- i
Attributes
- Returns
-
a sequence consisting of all elements rotated to start at circular index ''i''. It is equivalent to rotateLeft.
- Example
-
Seq(0, 1, 2).startAt(1) // Seq(1, 2, 0)
Inherited 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 - Inherited from:
- IndexingOps
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 - Inherited from:
- IndexingOps
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 - Inherited from:
- IndexingOps