Changing the header and body of a function through code

Just to hint at to how flexible Red really is, consider this fp1 function:

fp1: function [x [integer!] y [string!]] [    prin [x "- "]    print y]

Let's name the header (this is the part where the parameters are declared) and the body:

header: [x [integer!] y [string!]]body: [    prin [x "- "]    print y]

We can now rewrite our function as fp1-alt: function header body

The body phrase has to be on the same line as function and header; otherwise, you get the Script Error: function is missing its body argument error (only in the Red console).

Both functions still work the same, as shown in the following code fragment:

fp1 108 "Red"      ;== 108 - Redfp1-alt 108 "Red"  ;== 108 - Red

Now let's manipulate ...

Get Learn Red - Fundamentals of Red now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.