Node:Selection, Next:, Previous:Indexing, Up:Sequences



Selection

The where operator is used to select specified elements of a sequence:

Q where B Function
Here Q is a sequence of values, and B is a sequence of conditions. The result is those elements of Q whose corresponding element of B is true.

As a convenience, if an element of B is a function it is first applied with the corresponding element of Q as left argument. For example: Q where {F x} == Q where {Q? F x}.

As usual, if either argument is not a sequence, it is extended to a sequence. Thus the following selects the positive element of Q:

Q where (> 0)
since it is the same as Q where {> 0}, which is the same as Q where {Q? > 0}.

The result of a where is a lazy sequence. (??).