|REBOL 3 Docs||Guide||Concepts||Functions||Datatypes||Errors|
|TOC < Back Next >||Updated: 6-Feb-2009 Edit History|
Because functions are created dynamically by evaluation, you can determine how you want a function created, based on other information. This is a way to provide conditional code as is found in the macro or preprocessor sub-languages of other programming languages. Within the REBOL language this type of conditional code is done with normal REBOL code.
For instance, you may want to create a debugging version of a function that prints additional information:
test-mode: on timer: either test-mode [ func [delay] [ print "delaying..." wait delay print "resuming" ] ][ func [delay] [wait delay] ]
Here you will create one of two functions, based on the test-mode you are running. This can also be written shorter as:
timer: func [delay] either test-mode [[ print "delaying..." wait delay print "resuming" ]][[wait delay]]
|TOC < Back Next >||REBOL.com - WIP Wiki||Feedback Admin|