An ordered, immutable, non-empty collection of elements.
Class Every has two and only two subtypes: One and Many.
A One contains exactly one element. A Many contains two or more elements. Thus no way exists for an
Every to contain zero elements.
== Constructing Everys ==
You can construct an Every by passing one or more elements to the Every.apply factory method:
Every(1) Every(1, 2) Every(1, 2, 3)
Alternatively you can pass one element to the One.apply factory method, or two or more elements to
Many.apply:
One(1) Many(1, 3) Many(1, 2, 3)
== Working with Everys ==
Every does not extend Scala's Seq or Traversable traits because these require that
implementations may be empty. For example, if you invoke tail on a Seq that contains just one element,
you'll get an empty Seq:
scala> List(1).tail res6: List[Int] = List()
On the other hand, many useful methods exist on Seq that when invoked on a non-empty Seq are guaranteed
to not result in an empty Seq. For convenience, Every defines a method corresponding to every such Seq
method. Here are some examples:
Many(1, 2, 3).map(_ + 1) // Result: Many(2, 3, 4) One(1).map(_ + 1) // Result: One(2) Every(1, 2, 3).containsSlice(Every(2, 3)) // Result: true Every(1, 2, 3).containsSlice(Every(3, 4)) // Result: false Every(-1, -2, 3, 4, 5).minBy(_.abs) // Result: -1
Every does not currently define any methods corresponding to Seq methods that could result in
an empty Seq. However, an implicit converison from Every to collection.immutable.IndexedSeq
is defined in the Every companion object that will be applied if you attempt to call one of the missing methods. As a
result, you can invoke filter on an Every, even though filter could result
in an empty sequence—but the result type will be collection.immutable.IndexedSeq instead of Every:
Every(1, 2, 3).filter(_ < 10) // Result: Vector(1, 2, 3) Every(1, 2, 3).filter(_ > 10) // Result: Vector()
You can use Everys in for expressions. The result will be an Every unless
you use a filter (an if clause). Because filters are desugared to invocations of filter, the
result type will switch to a collection.immutable.IndexedSeq at that point. Here are some examples:
scala> import org.scalactic._
import org.scalactic._
scala> for (i <- Every(1, 2, 3)) yield i + 1
res0: org.scalactic.Every[Int] = Many(2, 3, 4)
scala> for (i <- Every(1, 2, 3) if i < 10) yield i + 1
res1: scala.collection.immutable.IndexedSeq[Int] = Vector(2, 3, 4)
scala> for {
| i <- Every(1, 2, 3)
| j <- Every('a', 'b', 'c')
| } yield (i, j)
res3: org.scalactic.Every[(Int, Char)] =
Many((1,a), (1,b), (1,c), (2,a), (2,b), (2,c), (3,a), (3,b), (3,c))
scala> for {
| i <- Every(1, 2, 3) if i < 10
| j <- Every('a', 'b', 'c')
| } yield (i, j)
res6: scala.collection.immutable.IndexedSeq[(Int, Char)] =
Vector((1,a), (1,b), (1,c), (2,a), (2,b), (2,c), (3,a), (3,b), (3,c))
== Motivation for Everys ==
Although Every is a general-purpose, non-empty ordered collection, it was motivated by the desire to enable easy
accumulation of errors in Ors. For examples of Every used in that use case, see the
Accumulating errors with Or section in the main documentation for Or.
- Type parameters:
- T
the type of elements contained in this
Every
- Companion:
- object
- Source:
- Every.scala
Value members
Abstract methods
Returns a new Many containing the elements of this Every followed by the elements of the passed Every.
The element type of the resulting Many is the most specific superclass encompassing the element types of this and the passed Every.
Returns a new Many containing the elements of this Every followed by the elements of the passed Every.
The element type of the resulting Many is the most specific superclass encompassing the element types of this and the passed Every.
- Type parameters:
- U
the element type of the returned
Many
- Value parameters:
- other
the
Everyto append
- Returns:
a new
Manythat contains all the elements of thisEveryfollowed by all elements ofother.- Source:
- Every.scala
Returns a new Many containing the elements of this Every followed by the elements of the passed GenTraversableOnce.
The element type of the resulting Many is the most specific superclass encompassing the element types of this Every
and the passed GenTraversableOnce.
Returns a new Many containing the elements of this Every followed by the elements of the passed GenTraversableOnce.
The element type of the resulting Many is the most specific superclass encompassing the element types of this Every
and the passed GenTraversableOnce.
- Type parameters:
- U
the element type of the returned
Many
- Value parameters:
- other
the
Everyto append
- Returns:
a new
Manythat contains all the elements of thisEveryfollowed by all elements ofother.- Source:
- Every.scala
Returns a new Every with the given element appended.
Returns a new Every with the given element appended.
Note a mnemonic for +: vs. :+ is: the COLon goes on the COLlection side.
- Value parameters:
- element
the element to append to this
Every
- Returns:
a new
Everyconsisting of all elements of thisEveryfollowed byelement.- Source:
- Every.scala
The prefix of this object's toString representation.
The prefix of this object's toString representation.
- Returns:
a string representation which starts the result of
toStringapplied to thisEvery, which will be"One"if thisEveryis aOne, or"Many"if it is aMany.- Source:
- Every.scala
Concrete methods
Returns a new Every with the given element prepended.
Returns a new Every with the given element prepended.
Note that :-ending operators are right associative. A mnemonic for +: vs. :+ is: the COLon goes on the COLlection side.
- Value parameters:
- element
the element to prepend to this
Every
- Returns:
a new
Everyconsisting ofelementfollowed by all elements of thisEvery.- Source:
- Every.scala
Appends all elements of this Every to a string builder. The written text will consist of a concatenation of the result of invoking toString
on of every element of this Every, without any separator string.
Appends all elements of this Every to a string builder. The written text will consist of a concatenation of the result of invoking toString
on of every element of this Every, without any separator string.
- Value parameters:
- sb
the string builder to which elements will be appended
- Returns:
the string builder,
sb, to which elements were appended.- Source:
- Every.scala
Appends all elements of this Every to a string builder using a separator string. The written text will consist of a concatenation of the
result of invoking toString
on of every element of this Every, separated by the string sep.
Appends all elements of this Every to a string builder using a separator string. The written text will consist of a concatenation of the
result of invoking toString
on of every element of this Every, separated by the string sep.
- Value parameters:
- sb
the string builder to which elements will be appended
- sep
the separator string
- Returns:
the string builder,
sb, to which elements were appended.- Source:
- Every.scala
Appends all elements of this Every to a string builder using start, end, and separator strings. The written text will consist of a concatenation of
the string start; the result of invoking toString on all elements of this Every,
separated by the string sep; and the string end
Appends all elements of this Every to a string builder using start, end, and separator strings. The written text will consist of a concatenation of
the string start; the result of invoking toString on all elements of this Every,
separated by the string sep; and the string end
- Value parameters:
- sb
the string builder to which elements will be appended
- sep
the separator string
- start
the ending string
- Returns:
the string builder,
sb, to which elements were appended.- Source:
- Every.scala
Selects an element by its index in the Every.
Selects an element by its index in the Every.
- Returns:
the element of this
Everyat indexidx, where 0 indicates the first element.- Source:
- Every.scala
Finds the first element of the Every for which the given partial function is defined, if any, and applies the partial function to it.
Finds the first element of the Every for which the given partial function is defined, if any, and applies the partial function to it.
- Value parameters:
- pf
the partial function
- Returns:
an
Optioncontainingpfapplied to the first element for which it is defined, orNoneif the partial function was not defined for any element.- Source:
- Every.scala
Indicates whether this Every contains a given value as an element.
Indicates whether this Every contains a given value as an element.
- Value parameters:
- elem
the element to look for
- Returns:
true if this
Everyhas an element that is equal (as determined by==)toelem, false otherwise.- Source:
- Every.scala
Indicates whether this Every contains a given GenSeq as a slice.
Indicates whether this Every contains a given GenSeq as a slice.
- Value parameters:
- that
the
GenSeqslice to look for
- Returns:
true if this
Everycontains a slice with the same elements asthat, otherwisefalse.- Source:
- Every.scala
Indicates whether this Every contains a given Every as a slice.
Indicates whether this Every contains a given Every as a slice.
- Value parameters:
- that
the
Everyslice to look for
- Returns:
true if this
Everycontains a slice with the same elements asthat, otherwisefalse.- Source:
- Every.scala
Copies values of this Every to an array. Fills the given array arr with values of this Every. Copying
will stop once either the end of the current Every is reached, or the end of the array is reached.
Copies values of this Every to an array. Fills the given array arr with values of this Every. Copying
will stop once either the end of the current Every is reached, or the end of the array is reached.
- Value parameters:
- arr
the array to fill
- Source:
- Every.scala
Copies values of this Every to an array. Fills the given array arr with values of this Every, beginning at
index start. Copying will stop once either the end of the current Every is reached, or the end of the array is reached.
Copies values of this Every to an array. Fills the given array arr with values of this Every, beginning at
index start. Copying will stop once either the end of the current Every is reached, or the end of the array is reached.
- Value parameters:
- arr
the array to fill
- start
the starting index
- Source:
- Every.scala
Copies values of this Every to an array. Fills the given array arr with at most len elements of this Every, beginning at
index start. Copying will stop once either the end of the current Every is reached, the end of the array is reached, or
len elements have been copied.
Copies values of this Every to an array. Fills the given array arr with at most len elements of this Every, beginning at
index start. Copying will stop once either the end of the current Every is reached, the end of the array is reached, or
len elements have been copied.
- Value parameters:
- arr
the array to fill
- len
the maximum number of elements to copy
- start
the starting index
- Source:
- Every.scala
Copies all elements of this Every to a buffer.
Copies all elements of this Every to a buffer.
- Value parameters:
- buf
the buffer to which elements are copied
- Source:
- Every.scala
Indicates whether every element of this Every relates to the corresponding element of a given GenSeq by satisfying a given predicate.
Indicates whether every element of this Every relates to the corresponding element of a given GenSeq by satisfying a given predicate.
- Type parameters:
- B
the type of the elements of
that
- Value parameters:
- p
the predicate, which relates elements from this
Everyand the passedGenSeq- that
the
GenSeqto compare for correspondence
- Returns:
true if this
Everyand the passedGenSeqhave the same length andp(x, y)istruefor all corresponding elementsxof thisEveryandyof that, otherwisefalse.- Source:
- Every.scala
Indicates whether every element of this Every relates to the corresponding element of a given Every by satisfying a given predicate.
Indicates whether every element of this Every relates to the corresponding element of a given Every by satisfying a given predicate.
- Type parameters:
- B
the type of the elements of
that
- Value parameters:
- p
the predicate, which relates elements from this and the passed
Every- that
the
Everyto compare for correspondence
- Returns:
true if this and the passed
Everyhave the same length andp(x, y)istruefor all corresponding elementsxof thisEveryandyof that, otherwisefalse.- Source:
- Every.scala
Counts the number of elements in the Every that satisfy a predicate.
Counts the number of elements in the Every that satisfy a predicate.
- Value parameters:
- p
the predicate used to test elements.
- Returns:
the number of elements satisfying the predicate
p.- Source:
- Every.scala
Builds a new Every from this Every without any duplicate elements.
Builds a new Every from this Every without any duplicate elements.
- Returns:
A new
Everythat contains the first occurrence of every element of thisEvery.- Source:
- Every.scala
Indicates whether this Every ends with the given GenSeq.
Indicates whether this Every ends with the given GenSeq.
- Value parameters:
- the
sequence to test
- Returns:
trueif thisEveryhasthatas a suffix,falseotherwise.- Source:
- Every.scala
Indicates whether this Every ends with the given Every.
Indicates whether this Every ends with the given Every.
- Value parameters:
- the
sequence to test
- Returns:
trueif thisEveryhasthatas a suffix,falseotherwise.- Source:
- Every.scala
Indicates whether a predicate holds for at least one of the elements of this Every.
Indicates whether a predicate holds for at least one of the elements of this Every.
- Value parameters:
- the
predicate used to test elements.
- Returns:
trueif the given predicatepholds for some of the elements of thisEvery, otherwisefalse.- Source:
- Every.scala
Finds the first element of this Every that satisfies the given predicate, if any.
Finds the first element of this Every that satisfies the given predicate, if any.
- Value parameters:
- p
the predicate used to test elements
- Returns:
an
Somecontaining the first element in thisEverythat satisfiesp, orNoneif none exists.- Source:
- Every.scala
Builds a new Every by applying a function to all elements of this Every and using the elements of the resulting Everys.
Builds a new Every by applying a function to all elements of this Every and using the elements of the resulting Everys.
- Type parameters:
- U
the element type of the returned
Every
- Value parameters:
- f
the function to apply to each element.
- Returns:
a new
Everycontaining elements obtained by applying the given functionfto each element of thisEveryand concatenating the elements of resultingEverys.- Source:
- Every.scala
Converts this Every of Everys into an Every
formed by the elements of the nested Everys.
Converts this Every of Everys into an Every
formed by the elements of the nested Everys.
Note: You cannot use this flatten method on an Every that contains a GenTraversableOnces, because
if all the nested GenTraversableOnces were empty, you'd end up with an empty Every.
- Returns:
a new
Everyresulting from concatenating all nestedEverys.- Source:
- Every.scala
Folds the elements of this Every using the specified associative binary operator.
Folds the elements of this Every using the specified associative binary operator.
The order in which operations are performed on elements is unspecified and may be nondeterministic.
- Type parameters:
- U
a type parameter for the binary operator, a supertype of T.
- Value parameters:
- op
a binary operator that must be associative
- z
a neutral element for the fold operation; may be added to the result an arbitrary number of times, and must not change the result (e.g.,
Nilfor list concatenation, 0 for addition, or 1 for multiplication.)
- Returns:
the result of applying fold operator
opbetween all the elements andz- Source:
- Every.scala
Applies a binary operator to a start value and all elements of this Every, going left to right.
Applies a binary operator to a start value and all elements of this Every, going left to right.
- Type parameters:
- B
the result type of the binary operator.
- Value parameters:
- op
the binary operator.
- z
the start value.
- Returns:
the result of inserting
opbetween consecutive elements of thisEvery, going left to right, with the start value,z, on the left:op(...op(op(z, x_1), x_2), ..., x_n)
where x1, ..., xn are the elements of this
Every.- Source:
- Every.scala
Applies a binary operator to all elements of this Every and a start value, going right to left.
Applies a binary operator to all elements of this Every and a start value, going right to left.
- Type parameters:
- B
the result of the binary operator
- Value parameters:
- op
the binary operator
- z
the start value
- Returns:
the result of inserting
opbetween consecutive elements of thisEvery, going right to left, with the start value,z, on the right:op(x_1, op(x_2, ... op(x_n, z)...))
where x1, ..., xn are the elements of this
Every.- Source:
- Every.scala
Indicates whether a predicate holds for all elements of this Every.
Indicates whether a predicate holds for all elements of this Every.
- Value parameters:
- p
the predicate used to test elements.
- Returns:
trueif the given predicatepholds for all elements of thisEvery, otherwisefalse.- Source:
- Every.scala
Applies a function f to all elements of this Every.
Applies a function f to all elements of this Every.
- Value parameters:
- f
the function that is applied for its side-effect to every element. The result of function
fis discarded.
- Source:
- Every.scala
Partitions this Every into a map of Everys according to some discriminator function.
Partitions this Every into a map of Everys according to some discriminator function.
- Type parameters:
- K
the type of keys returned by the discriminator function.
- Value parameters:
- f
the discriminator function.
- Returns:
A map from keys to
Everys such that the following invariant holds:(every.toVector partition f)(k) = xs filter (x => f(x) == k)
That is, every key
kis bound to anEveryof those elementsxfor whichf(x)equalsk.- Source:
- Every.scala
Partitions elements into fixed size Everys.
Partitions elements into fixed size Everys.
- Value parameters:
- size
the number of elements per group
- Returns:
An iterator producing
Everys of sizesize, except the last will be truncated if the elements don't divide evenly.- Source:
- Every.scala
Returns true to indicate this Every has a definite size, since all Everys are strict collections.
Returns true to indicate this Every has a definite size, since all Everys are strict collections.
- Source:
- Every.scala
Selects the first element of this Every.
Selects the first element of this Every.
- Returns:
the first element of this
Every.- Source:
- Every.scala
Selects the first element of this Every and returns it wrapped in a Some.
Selects the first element of this Every and returns it wrapped in a Some.
- Returns:
the first element of this
Every, wrapped in aSome.- Source:
- Every.scala
Finds index of first occurrence of some value in this Every.
Finds index of first occurrence of some value in this Every.
- Value parameters:
- elem
the element value to search for.
- Returns:
the index of the first element of this
Everythat is equal (as determined by==) toelem, or-1, if none exists.- Source:
- Every.scala
Finds index of first occurrence of some value in this Every after or at some start index.
Finds index of first occurrence of some value in this Every after or at some start index.
- Value parameters:
- elem
the element value to search for.
- from
the start index
- Returns:
the index
>=fromof the first element of thisEverythat is equal (as determined by==) toelem, or-1, if none exists.- Source:
- Every.scala
Finds first index where this Every contains a given GenSeq as a slice.
Finds first index where this Every contains a given GenSeq as a slice.
- Value parameters:
- that
the
GenSeqdefining the slice to look for
- Returns:
the first index at which the elements of this
Everystarting at that index match the elements ofGenSeqthat, or-1of no such subsequence exists.- Source:
- Every.scala
Finds first index after or at a start index where this Every contains a given GenSeq as a slice.
Finds first index after or at a start index where this Every contains a given GenSeq as a slice.
- Value parameters:
- from
the start index
- that
the
GenSeqdefining the slice to look for
- Returns:
the first index
>=fromat which the elements of thisEverystarting at that index match the elements ofGenSeqthat, or-1of no such subsequence exists.- Source:
- Every.scala
Finds first index where this Every contains a given Every as a slice.
Finds first index where this Every contains a given Every as a slice.
- Value parameters:
- that
the
Everydefining the slice to look for
- Returns:
the first index such that the elements of this
Everystarting at this index match the elements ofEverythat, or-1of no such subsequence exists.- Source:
- Every.scala
Finds first index after or at a start index where this Every contains a given Every as a slice.
Finds first index after or at a start index where this Every contains a given Every as a slice.
- Value parameters:
- from
the start index
- that
the
Everydefining the slice to look for
- Returns:
the first index
>=fromsuch that the elements of thisEverystarting at this index match the elements ofEverythat, or-1of no such subsequence exists.- Source:
- Every.scala
Finds index of the first element satisfying some predicate.
Finds index of the first element satisfying some predicate.
- Value parameters:
- p
the predicate used to test elements.
- Returns:
the index of the first element of this
Everythat satisfies the predicatep, or-1, if none exists.- Source:
- Every.scala
Finds index of the first element satisfying some predicate after or at some start index.
Finds index of the first element satisfying some predicate after or at some start index.
- Value parameters:
- from
the start index
- p
the predicate used to test elements.
- Returns:
the index
>=fromof the first element of thisEverythat satisfies the predicatep, or-1, if none exists.- Source:
- Every.scala
Produces the range of all indices of this Every.
Produces the range of all indices of this Every.
- Returns:
a
Rangevalue from0to one less than the length of thisEvery.- Source:
- Every.scala
Tests whether this Every contains given index.
Tests whether this Every contains given index.
- Value parameters:
- idx
the index to test
- Returns:
true if this
Everycontains an element at positionidx,falseotherwise.- Source:
- Every.scala
Returns false to indicate this Every, like all Everys, is non-empty.
Returns false to indicate this Every, like all Everys, is non-empty.
- Returns:
false
- Source:
- Every.scala
Returns true to indicate this Every, like all Everys, can be traversed repeatedly.
Returns true to indicate this Every, like all Everys, can be traversed repeatedly.
- Returns:
true
- Source:
- Every.scala
Creates and returns a new iterator over all elements contained in this Every.
Creates and returns a new iterator over all elements contained in this Every.
- Returns:
the new iterator
- Source:
- Every.scala
Selects the last element of this Every.
Selects the last element of this Every.
- Returns:
the last element of this
Every.- Source:
- Every.scala
Finds the index of the last occurrence of some value in this Every.
Finds the index of the last occurrence of some value in this Every.
- Value parameters:
- elem
the element value to search for.
- Returns:
the index of the last element of this
Everythat is equal (as determined by==) toelem, or-1, if none exists.- Source:
- Every.scala
Finds the index of the last occurrence of some value in this Every before or at a given end index.
Finds the index of the last occurrence of some value in this Every before or at a given end index.
- Value parameters:
- elem
the element value to search for.
- end
the end index.
- Returns:
the index
>=endof the last element of thisEverythat is equal (as determined by==) toelem, or-1, if none exists.- Source:
- Every.scala
Finds the last index where this Every contains a given GenSeq as a slice.
Finds the last index where this Every contains a given GenSeq as a slice.
- Value parameters:
- that
the
GenSeqdefining the slice to look for
- Returns:
the last index at which the elements of this
Everystarting at that index match the elements ofGenSeqthat, or-1of no such subsequence exists.- Source:
- Every.scala
Finds the last index before or at a given end index where this Every contains a given GenSeq as a slice.
Finds the last index before or at a given end index where this Every contains a given GenSeq as a slice.
- Value parameters:
- end
the end index
- that
the
GenSeqdefining the slice to look for
- Returns:
the last index
>=endat which the elements of thisEverystarting at that index match the elements ofGenSeqthat, or-1of no such subsequence exists.- Source:
- Every.scala
Finds the last index where this Every contains a given Every as a slice.
Finds the last index where this Every contains a given Every as a slice.
- Value parameters:
- that
the
Everydefining the slice to look for
- Returns:
the last index at which the elements of this
Everystarting at that index match the elements ofEverythat, or-1of no such subsequence exists.- Source:
- Every.scala
Finds the last index before or at a given end index where this Every contains a given Every as a slice.
Finds the last index before or at a given end index where this Every contains a given Every as a slice.
- Value parameters:
- end
the end index
- that
the
Everydefining the slice to look for
- Returns:
the last index
>=endat which the elements of thisEverystarting at that index match the elements ofEverythat, or-1of no such subsequence exists.- Source:
- Every.scala
Finds index of last element satisfying some predicate.
Finds index of last element satisfying some predicate.
- Value parameters:
- p
the predicate used to test elements.
- Returns:
the index of the last element of this
Everythat satisfies the predicatep, or-1, if none exists.- Source:
- Every.scala
Finds index of last element satisfying some predicate before or at given end index.
Finds index of last element satisfying some predicate before or at given end index.
- Value parameters:
- end
the end index
- p
the predicate used to test elements.
- Returns:
the index
>=endof the last element of thisEverythat satisfies the predicatep, or-1, if none exists.- Source:
- Every.scala
Returns the last element of this Every, wrapped in a Some.
Returns the last element of this Every, wrapped in a Some.
- Returns:
the last element, wrapped in a
Some.- Source:
- Every.scala
The length of this Every.
The length of this Every.
Note: length and size yield the same result, which will be >= 1.
- Returns:
the number of elements in this
Every.- Source:
- Every.scala
Compares the length of this Every to a test value.
Compares the length of this Every to a test value.
- Value parameters:
- len
the test value that gets compared with the length.
- Returns:
a value
xwherex < 0 if this.length < len x == 0 if this.length == len x > 0 if this.length > len
- Source:
- Every.scala
Builds a new Every by applying a function to all elements of this Every.
Builds a new Every by applying a function to all elements of this Every.
- Type parameters:
- U
the element type of the returned
Every.
- Value parameters:
- f
the function to apply to each element.
- Returns:
a new
Everyresulting from applying the given functionfto each element of thisEveryand collecting the results.- Source:
- Every.scala
Finds the largest element.
Finds the largest element.
- Returns:
the largest element of this
Every.- Source:
- Every.scala
Finds the largest result after applying the given function to every element.
Finds the largest result after applying the given function to every element.
- Returns:
the largest result of applying the given function to every element of this
Every.- Source:
- Every.scala
Finds the smallest element.
Finds the smallest element.
- Returns:
the smallest element of this
Every.- Source:
- Every.scala
Finds the smallest result after applying the given function to every element.
Finds the smallest result after applying the given function to every element.
- Returns:
the smallest result of applying the given function to every element of this
Every.- Source:
- Every.scala
Displays all elements of this Every in a string.
Displays all elements of this Every in a string.
- Returns:
a string representation of this
Every. In the resulting string, the result of invokingtoStringon all elements of thisEveryfollow each other without any separator string.- Source:
- Every.scala
Displays all elements of this Every in a string using a separator string.
Displays all elements of this Every in a string using a separator string.
- Value parameters:
- sep
the separator string
- Returns:
a string representation of this
Every. In the resulting string, the result of invokingtoStringon all elements of thisEveryare separated by the stringsep.- Source:
- Every.scala
Displays all elements of this Every in a string using start, end, and separator strings.
Displays all elements of this Every in a string using start, end, and separator strings.
- Value parameters:
- end
the ending string.
- sep
the separator string.
- start
the starting string.
- Returns:
a string representation of this
Every. The resulting string begins with the stringstartand ends with the stringend. Inside, In the resulting string, the result of invokingtoStringon all elements of thisEveryare separated by the stringsep.- Source:
- Every.scala
Returns true to indicate this Every, like all Everys, is non-empty.
Returns true to indicate this Every, like all Everys, is non-empty.
- Returns:
true
- Source:
- Every.scala
A copy of this Every with an element value appended until a given target length is reached.
A copy of this Every with an element value appended until a given target length is reached.
- Value parameters:
- elem
he padding value
- len
the target length
- Returns:
a new
Everyconsisting of all elements of thisEveryfollowed by the minimal number of occurrences ofelemso that the resultingEveryhas a length of at leastlen.- Source:
- Every.scala
Produces a new Every where a slice of elements in this Every is replaced by another Every
Produces a new Every where a slice of elements in this Every is replaced by another Every
- Value parameters:
- from
the index of the first replaced element
- replaced
the number of elements to drop in the original
Every- that
the
Everywhose elements should replace a slice in thisEvery
- Source:
- Every.scala
Iterates over distinct permutations.
Iterates over distinct permutations.
Here's an example:
Every('a', 'b', 'b').permutations.toList = Iterator(Many(a, b, b), Many(b, a, b), Many(b, b, a))
- Returns:
an iterator which traverses the distinct permutations of this
Every.- Source:
- Every.scala
Returns the length of the longest prefix whose elements all satisfy some predicate.
Returns the length of the longest prefix whose elements all satisfy some predicate.
- Value parameters:
- p
the predicate used to test elements.
- Returns:
the length of the longest prefix of this
Everysuch that every element of the segment satisfies the predicatep.- Source:
- Every.scala
The result of multiplying all the elements of this Every.
The result of multiplying all the elements of this Every.
This method can be invoked for any Every[T] for which an implicit Numeric[T] exists.
- Returns:
the product of all elements
- Source:
- Every.scala
Reduces the elements of this Every using the specified associative binary operator.
Reduces the elements of this Every using the specified associative binary operator.
The order in which operations are performed on elements is unspecified and may be nondeterministic.
- Type parameters:
- U
a type parameter for the binary operator, a supertype of T.
- Value parameters:
- op
a binary operator that must be associative.
- Returns:
the result of applying reduce operator
opbetween all the elements of thisEvery.- Source:
- Every.scala
Applies a binary operator to all elements of this Every, going left to right.
Applies a binary operator to all elements of this Every, going left to right.
- Type parameters:
- U
the result type of the binary operator.
- Value parameters:
- op
the binary operator.
- Returns:
the result of inserting
opbetween consecutive elements of thisEvery, going left to right:op(...op(op(x_1, x_2), x_3), ..., x_n)
where x1, ..., xn are the elements of this
Every.- Source:
- Every.scala
Applies a binary operator to all elements of this Every, going left to right, returning the result in a Some.
Applies a binary operator to all elements of this Every, going left to right, returning the result in a Some.
- Type parameters:
- U
the result type of the binary operator.
- Value parameters:
- op
the binary operator.
- Returns:
a
Somecontaining the result ofreduceLeft(op)- Source:
- Every.scala
Applies a binary operator to all elements of this Every, going right to left.
Applies a binary operator to all elements of this Every, going right to left.
- Type parameters:
- U
the result of the binary operator
- Value parameters:
- op
the binary operator
- Returns:
the result of inserting
opbetween consecutive elements of thisEvery, going right to left:op(x_1, op(x_2, ... op(x_{n-1}, x_n)...))where x1, ..., xn are the elements of this
Every.- Source:
- Every.scala
Applies a binary operator to all elements of this Every, going right to left, returning the result in a Some.
Applies a binary operator to all elements of this Every, going right to left, returning the result in a Some.
- Type parameters:
- U
the result of the binary operator
- Value parameters:
- op
the binary operator
- Returns:
a
Somecontaining the result ofreduceRight(op)- Source:
- Every.scala
Returns new Every wih elements in reverse order.
Returns new Every wih elements in reverse order.
- Returns:
a new
Everywith all elements of thisEveryin reversed order.- Source:
- Every.scala
An iterator yielding elements in reverse order.
An iterator yielding elements in reverse order.
Note: every.reverseIterator is the same as every.reverse.iterator, but might be more efficient.
- Returns:
an iterator yielding the elements of this
Everyin reversed order- Source:
- Every.scala
Builds a new Every by applying a function to all elements of this Every and collecting the results in reverse order.
Builds a new Every by applying a function to all elements of this Every and collecting the results in reverse order.
Note: every.reverseMap(f) is the same as every.reverse.map(f), but might be more efficient.
- Type parameters:
- U
the element type of the returned
Every.
- Value parameters:
- f
the function to apply to each element.
- Returns:
a new
Everyresulting from applying the given functionfto each element of thisEveryand collecting the results in reverse order.- Source:
- Every.scala
Checks if the given GenIterable contains the same elements in the same order as this Every.
Checks if the given GenIterable contains the same elements in the same order as this Every.
- Value parameters:
- that
the
GenIterablewith which to compare
- Returns:
true, if both thisEveryand the givenGenIterablecontain the same elements in the same order,falseotherwise.- Source:
- Every.scala
Checks if the given Every contains the same elements in the same order as this Every.
Checks if the given Every contains the same elements in the same order as this Every.
- Value parameters:
- that
the
Everywith which to compare
- Returns:
true, if both this and the givenEverycontain the same elements in the same order,falseotherwise.- Source:
- Every.scala
Computes a prefix scan of the elements of this Every.
Computes a prefix scan of the elements of this Every.
Note: The neutral element z may be applied more than once.
Here are some examples:
Every(1, 2, 3).scan(0)(_ + _) == Every(0, 1, 3, 6)
Every(1, 2, 3).scan("z")(_ + _.toString) == Every("z", "z1", "z12", "z123")
- Type parameters:
- U
a type parameter for the binary operator, a supertype of T, and the type of the resulting
Every.
- Value parameters:
- op
a binary operator that must be associative
- z
a neutral element for the scan operation; may be added to the result an arbitrary number of times, and must not change the result (e.g.,
Nilfor list concatenation, 0 for addition, or 1 for multiplication.)
- Returns:
a new
Everycontaining the prefix scan of the elements in thisEvery- Source:
- Every.scala
Produces an Every containing cumulative results of applying the operator going left to right.
Produces an Every containing cumulative results of applying the operator going left to right.
Here are some examples:
Every(1, 2, 3).scanLeft(0)(_ + _) == Every(0, 1, 3, 6)
Every(1, 2, 3).scanLeft("z")(_ + _) == Every("z", "z1", "z12", "z123")
- Type parameters:
- B
the result type of the binary operator and type of the resulting
Every
- Value parameters:
- op
the binary operator.
- z
the start value.
- Returns:
a new
Everycontaining the intermediate results of insertingopbetween consecutive elements of thisEvery, going left to right, with the start value,z, on the left.- Source:
- Every.scala
Produces an Every containing cumulative results of applying the operator going right to left.
Produces an Every containing cumulative results of applying the operator going right to left.
Here are some examples:
Every(1, 2, 3).scanRight(0)(_ + _) == Every(6, 5, 3, 0)
Every(1, 2, 3).scanRight("z")(_ + _) == Every("123z", "23z", "3z", "z")
- Type parameters:
- B
the result of the binary operator and type of the resulting
Every
- Value parameters:
- op
the binary operator
- z
the start value
- Returns:
a new
Everycontaining the intermediate results of insertingopbetween consecutive elements of thisEvery, going right to left, with the start value,z, on the right.- Source:
- Every.scala
Computes length of longest segment whose elements all satisfy some predicate.
Computes length of longest segment whose elements all satisfy some predicate.
- Value parameters:
- from
the index where the search starts.
- p
the predicate used to test elements.
- the
length of the longest segment of this
Everystarting from indexfromsuch that every element of the segment satisfies the predicatep.
- Source:
- Every.scala
The size of this Every.
The size of this Every.
Note: length and size yield the same result, which will be >= 1.
- Returns:
the number of elements in this
Every.- Source:
- Every.scala
Groups elements in fixed size blocks by passing a “sliding window” over them (as opposed to partitioning them, as is done in grouped.)
Groups elements in fixed size blocks by passing a “sliding window” over them (as opposed to partitioning them, as is done in grouped.)
- Value parameters:
- size
the number of elements per group
- Returns:
an iterator producing
Everys of sizesize, except the last and the only element will be truncated if there are fewer elements thansize.- Source:
- Every.scala
Groups elements in fixed size blocks by passing a “sliding window” over them (as opposed to partitioning them, as is done in grouped.),
moving the sliding window by a given step each time.
Groups elements in fixed size blocks by passing a “sliding window” over them (as opposed to partitioning them, as is done in grouped.),
moving the sliding window by a given step each time.
- Value parameters:
- size
the number of elements per group
- step
the distance between the first elements of successive groups
- Returns:
an iterator producing
Everys of sizesize, except the last and the only element will be truncated if there are fewer elements thansize.- Source:
- Every.scala
Sorts this Every according to the Ordering of the result of applying the given function to every element.
Sorts this Every according to the Ordering of the result of applying the given function to every element.
- Type parameters:
- U
the target type of the transformation
f, and the type where theOrderingordis defined.
- Value parameters:
- f
the transformation function mapping elements to some other domain
U.- ord
the ordering assumed on domain
U.
- Returns:
a
Everyconsisting of the elements of thisEverysorted according to theOrderingwherex < y if ord.lt(f(x), f(y)).- Source:
- Every.scala
Sorts this Every according to a comparison function.
Sorts this Every according to a comparison function.
The sort is stable. That is, elements that are equal (as determined by lt) appear in the same order in the
sorted Every as in the original.
- Value parameters:
- the
comparison function that tests whether its first argument precedes its second argument in the desired ordering.
- Returns:
an
Everyconsisting of the elements of thisEverysorted according to the comparison functionlt.- Source:
- Every.scala
Sorts this Every according to an Ordering.
Sorts this Every according to an Ordering.
The sort is stable. That is, elements that are equal (as determined by lt) appear in the same order in the
sorted Every as in the original.
- Value parameters:
- ord
the
Orderingto be used to compare elements.- the
comparison function that tests whether its first argument precedes its second argument in the desired ordering.
- Returns:
an
Everyconsisting of the elements of thisEverysorted according to the comparison functionlt.- Source:
- Every.scala
Indicates whether this Every starts with the given GenSeq.
Indicates whether this Every starts with the given GenSeq.
- Value parameters:
- that
the
GenSeqslice to look for in thisEvery
- Returns:
trueif thisEveryhasthatas a prefix,falseotherwise.- Source:
- Every.scala
Indicates whether this Every starts with the given GenSeq at the given index.
Indicates whether this Every starts with the given GenSeq at the given index.
- Value parameters:
- offset
the index at which this
Everyis searched.- that
the
GenSeqslice to look for in thisEvery
- Returns:
trueif thisEveryhasthatas a slice at the indexoffset,falseotherwise.- Source:
- Every.scala
Indicates whether this Every starts with the given Every.
Indicates whether this Every starts with the given Every.
- Value parameters:
- that
the
Everyto test
- Returns:
trueif this collection hasthatas a prefix,falseotherwise.- Source:
- Every.scala
Indicates whether this Every starts with the given Every at the given index.
Indicates whether this Every starts with the given Every at the given index.
- Value parameters:
- offset
the index at which this
Everyis searched.- that
the
Everyslice to look for in thisEvery
- Returns:
trueif thisEveryhasthatas a slice at the indexoffset,falseotherwise.- Source:
- Every.scala
The result of summing all the elements of this Every.
The result of summing all the elements of this Every.
This method can be invoked for any Every[T] for which an implicit Numeric[T] exists.
- Returns:
the sum of all elements
- Source:
- Every.scala
Converts this Every into a collection of type Col by copying all elements.
Converts this Every into a collection of type Col by copying all elements.
- Type parameters:
- Col
the collection type to build.
- Returns:
a new collection containing all elements of this
Every.- Source:
- Every.scala
Converts this Every to an array.
Converts this Every to an array.
- Returns:
an array containing all elements of this
Every. AClassTagmust be available for the element type of thisEvery.- Source:
- Every.scala
Converts this Every to a mutable buffer.
Converts this Every to a mutable buffer.
- Returns:
a buffer containing all elements of this
Every.- Source:
- Every.scala
Converts this Every to an immutable IndexedSeq.
Converts this Every to an immutable IndexedSeq.
- Returns:
an immutable
IndexedSeqcontaining all elements of thisEvery.- Source:
- Every.scala
Converts this Every to an iterable collection.
Converts this Every to an iterable collection.
- Returns:
an
Iterablecontaining all elements of thisEvery.- Source:
- Every.scala
Returns an Iterator over the elements in this Every.
Returns an Iterator over the elements in this Every.
- Returns:
an
Iteratorcontaining all elements of thisEvery.- Source:
- Every.scala
Converts this Every to a list.
Converts this Every to a list.
- Returns:
a list containing all elements of this
Every.- Source:
- Every.scala
Converts this Every to a map.
Converts this Every to a map.
This method is unavailable unless the elements are members of Tuple2, each ((K, V)) becoming a key-value pair
in the map. Duplicate keys will be overwritten by later keys.
- Returns:
a map of type
immutable.Map[K, V]containing all key/value pairs of type(K, V)of thisEvery.- Source:
- Every.scala
Converts this Every to an immutable IndexedSeq.
Converts this Every to an immutable IndexedSeq.
- Returns:
an immutable
IndexedSeqcontaining all elements of thisEvery.- Source:
- Every.scala
Converts this Every to a set.
Converts this Every to a set.
- Returns:
a set containing all elements of this
Every.- Source:
- Every.scala
Converts this Every to a stream.
Converts this Every to a stream.
- Returns:
a stream containing all elements of this
Every.- Source:
- Every.scala
Converts this Every to a Vector.
Converts this Every to a Vector.
- Returns:
a
Vectorcontaining all elements of thisEvery.- Source:
- Every.scala
Converts this Every to an unspecified Traversable.
Converts this Every to an unspecified Traversable.
- Returns:
a
Traversablecontaining all elements of thisEvery.- Source:
- Every.scala
Produces a new Every that contains all elements of this Every and also all elements of a given Every.
Produces a new Every that contains all elements of this Every and also all elements of a given Every.
everyX union everyY is equivalent to everyX ++ everyY.
Another way to express this is that everyX union everyY computes the order-presevring multi-set union
of everyX and everyY. This union method is hence a counter-part of diff and intersect that
also work on multi-sets.
- Value parameters:
- that
the
Everyto add.
- Returns:
a new
Everythat contains all elements of thisEveryfollowed by all elements ofthat.- Source:
- Every.scala
Produces a new Every that contains all elements of this Every and also all elements of a given GenSeq.
Produces a new Every that contains all elements of this Every and also all elements of a given GenSeq.
everyX union ys is equivalent to everyX ++ ys.
Another way to express this is that everyX union ys computes the order-presevring multi-set union
of everyX and ys. This union method is hence a counter-part of diff and intersect that
also work on multi-sets.
- Value parameters:
- that
the
GenSeqto add.
- Returns:
a new
Everythat contains all elements of thisEveryfollowed by all elements ofthatGenSeq.- Source:
- Every.scala
Converts this Every of pairs into two Everys of the first and second half of each pair.
Converts this Every of pairs into two Everys of the first and second half of each pair.
- Type parameters:
- L
the type of the first half of the element pairs
- R
the type of the second half of the element pairs
- Value parameters:
- asPair
an implicit conversion that asserts that the element type of this
Everyis a pair.
- Returns:
a pair of
Everys, containing the first and second half, respectively, of each element pair of thisEvery.- Source:
- Every.scala
Converts this Every of triples into three Everys of the first, second, and and third element of each triple.
Converts this Every of triples into three Everys of the first, second, and and third element of each triple.
- Type parameters:
- L
the type of the first member of the element triples
- R
the type of the third member of the element triples
- Value parameters:
- asTriple
an implicit conversion that asserts that the element type of this
Everyis a triple.
- Returns:
a triple of
Everys, containing the first, second, and third member, respectively, of each element triple of thisEvery.- Source:
- Every.scala
A copy of this Every with one single replaced element.
A copy of this Every with one single replaced element.
- Value parameters:
- elem
the replacing element
- idx
the position of the replacement
- Returns:
a copy of this
Everywith the element at positionidxreplaced byelem.- Source:
- Every.scala
Returns an Every formed from this Every and an iterable collection by combining corresponding
elements in pairs. If one of the two collections is shorter than the other, placeholder elements will be used to extend the
shorter collection to the length of the longer.
Returns an Every formed from this Every and an iterable collection by combining corresponding
elements in pairs. If one of the two collections is shorter than the other, placeholder elements will be used to extend the
shorter collection to the length of the longer.
- Value parameters:
- other
the
Iterableproviding the second half of each result pair- thatElem
the element to be used to fill up the result if
thatIterableis shorter than thisEvery.- thisElem
the element to be used to fill up the result if this
Everyis shorter thanthatIterable.
- Returns:
a new
Everycontaining pairs consisting of corresponding elements of thisEveryandthat. The length of the returned collection is the maximum of the lengths of thisEveryandthat. If thisEveryis shorter thanthat,thisElemvalues are used to pad the result. Ifthatis shorter than thisEvery,thatElemvalues are used to pad the result.- Source:
- Every.scala
Zips this Every with its indices.
Zips this Every with its indices.
- Returns:
A new
Everycontaining pairs consisting of all elements of thisEverypaired with their index. Indices start at 0.- Source:
- Every.scala
Deprecated methods
The /: method has been deprecated and will be removed in a future version of Scalactic. Please use
foldLeft instead.
The /: method has been deprecated and will be removed in a future version of Scalactic. Please use
foldLeft instead.
This method has been deprecated for consistency with Scala 2.13's collections API.
Fold left: applies a binary operator to a start value, z, and all elements of this Every, going left to right.
Note: /: is alternate syntax for the foldLeft method; z /: every is the
same as every foldLeft z.
- Type parameters:
- B
the result of the binary operator
- Value parameters:
- op
the binary operator
- z
the start value
- Returns:
the result of inserting
opbetween consecutive elements of thisEvery, going left to right, with the start value,z, on the left:op(...op(op(z, x_1), x_2), ..., x_n)
where x1, ..., xn are the elements of this
Every.- Deprecated
- Source:
- Every.scala
The :\ method has been deprecated and will be removed in a future version of Scalactic. Please use
foldRight instead.
The :\ method has been deprecated and will be removed in a future version of Scalactic. Please use
foldRight instead.
This method has been deprecated for consistency with Scala 2.13's collections API.
Fold right: applies a binary operator to all elements of this Every and a start value, going right to left.
Note: :</code> is alternate syntax for the foldRight method; every :</code> z is the same
as every foldRight z.
- Type parameters:
- B
the result of the binary operator
- Value parameters:
- op
the binary operator
- z
the start value
- Returns:
the result of inserting
opbetween consecutive elements of thisEvery, going right to left, with the start value,z, on the right:op(x_1, op(x_2, ... op(x_n, z)...))
where x1, ..., xn are the elements of this
Every.- Deprecated
- Source:
- Every.scala