when ( ..a ? true: ( ..a -- ..a ) -- ..a )
Factor handbook > The language > Combinators > Conditional combinators

Prev:if ( ..a ? true: ( ..a -- ..b ) false: ( ..a -- ..b ) -- ..b )
Next:unless ( ..a ? false: ( ..a -- ..a ) -- ..a )


Vocabulary
kernel

Inputs and outputs
?a generalized boolean
truea quotation


Word description
If cond is not f, calls the true quotation.

The cond value is removed from the stack before the quotation is called.

Examples
USING: kernel math prettyprint ; -5 dup 0 < [ 3 + ] when .
-2


Definition

: when ( ..a ? true: ( ..a -- ..a ) -- ..a )
swap [ call ] [ drop ] if ; inline