cond ( assoc -- ) (original) (raw)
Vocabulary
combinators
Inputs
assoc | a sequence of quotation pairs and an optional quotation |
---|
Outputs
None
Word description
Calls the second quotation in the first pair whose first quotation yields a true value. A single quotation will always yield a true value.
The following two phrases are equivalent:
{ { [ X ] [ Y ] } { [ Z ] [ T ] } } cond
X [ Y ] [ Z [ T ] [ no-cond ] if ] if
Errors
Throws a no-cond error if none of the test quotations yield a true value.
Examples
USING: combinators io kernel math ; 0 { { [ dup 0 > ] [ drop "positive" ] } { [ dup 0 < ] [ drop "negative" ] } [ drop "zero" ] } cond print
zero
Definition