Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

Rebol Programming/collect-words

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

USAGE: COLLECT-WORDS block /deep /set /ignore words DESCRIPTION: Collect unique words used in a block (used for context construction). COLLECT-WORDS is a function value. ARGUMENTS block -- (Type: block) REFINEMENTS /deep -- Include nested blocks /set -- Only include set-words /ignore -- Ignore prior words words -- Words to ignore (Type: object port block) SOURCE CODE collect-words: func [ {Collect unique words used in a block (used for context construction).} block [block!] /deep "Include nested blocks" /set "Only include set-words" /ignore "Ignore prior words" words [object! port! block!] "Words to ignore" /local rule word blk w ][ deep: either deep [[path! | set-path! | lit-path! | into rule]] [any-block!] word: either set [set-word!] [any-word!] blk: [] parse block rule: [ set w word (insert tail blk to-word to-string w) | deep | skip ] also either ignore [ unless block? words [words: words-of words] difference blk intersect blk words ] [ unique blk ] (clear blk set [block words] none) ]