Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikibooksThe Free Textbook Project
Search

Rebol Programming/for

From Wikibooks, open books for an open world
<Rebol Programming
This page may need to bereviewed for quality.

USAGE:

[edit |edit source]
FOR 'word start end bump body

DESCRIPTION:

[edit |edit source]

Repeats a block over a range of values.

FOR is a function value.

ARGUMENTS

[edit |edit source]
  • word -- Variable to hold current value (Type: word)
  • start -- Starting value (Type: number series money time date char)
  • end -- Ending value (Type: number series money time date char)
  • bump -- Amount to skip each time (Type: number money time char)
  • body -- Block to evaluate (Type: block)

(SPECIAL ATTRIBUTES)

[edit |edit source]
  • catch
  • throw

SOURCE CODE

[edit |edit source]
for: func [    "Repeats a block over a range of values."     [catch throw]     'word [word!] "Variable to hold current value"     start [number! series! money! time! date! char!] "Starting value"     end [number! series! money! time! date! char!] "Ending value"     bump [number! money! time! char!] "Amount to skip each time"     body [block!] "Block to evaluate"     /local result do-body op][    if (type? start) <> (type? end) [        throw make error! reduce ['script 'expect-arg 'for 'end type? start]    ]     do-body: func reduce [[throw] word] body     op: :greater-or-equal?     either series? start [        if not same? head start head end [            throw make error! reduce ['script 'invalid-arg end]        ]         if (negative? bump) [op: :lesser?]         while [op index? end index? start] [            set/any 'result do-body start             start: skip start bump        ]         if (negative? bump) [set/any 'result do-body start]    ] [        if (negative? bump) [op: :lesser-or-equal?]         while [op end start] [            set/any 'result do-body start             start: start + bump        ]    ]     get/any 'result]
Retrieved from "https://en.wikibooks.org/w/index.php?title=Rebol_Programming/for&oldid=3352771"
Category:

[8]ページ先頭

©2009-2025 Movatter.jp