Remove-each - Function Summary

Summary:

Removes a value from a series for each block that returns TRUE.

Usage:

remove-each word data body

Arguments:

word - Word or block of words to set each time (will be local) (must be: get-word word block)

data - The series to traverse (must be: series)

body - Block to evaluate. Return TRUE to remove. (must be: block)

Description:

REMOVE-EACH is similar to FOREACH, but removes values as it moves through a series. For each value in the series, a comparison block is executed. If the block returns true, then the value will be removed.

values: [12 test 30 "C" "D" 10]
remove-each value values [word? value]
probe values
[12 30 "C" "D" 10]
remove-each value values [all [integer? value value > 11]]
probe values
["C" "D" 10]

Using REMOVE-EACH for removing values provides much greater performance than using a WHILE or FORALL loop.

This function is not available in older versions of REBOL.

foreach - Evaluates a block for each value(s) in a series. remove - Removes value(s) from a series and returns after the remove.

results matching ""

    No results matching ""