#Define Statements |
|
#Define Statement OverviewThe Fractal Science Kit fractal programming language supports #define and #include statements. A #define statement is used to associate a block of statements with an identifier. A #include statement is used to insert the block of statements associated with a given identifier into your program. A #define statement can be placed in My Macros or in a program's macros and/or properties sections. A #include statement can be used anywhere program statements are valid. The #define/#include mechanism for accessing shared software is far less useful than Inline Functions or Inline Methods. It can also lead to unreadable code if not used carefully. However, there are circumstances where it is the only way available, and is still preferable to copying the same code in 10 different programs. A typical example, is to define enums or function sets in My Macros and include them in the properties section of your programs. The syntax of the #define statement is: #define <DefineName> The <DefineName> must be a valid identifier. The <Statements> are not evaluated until they are inserted into your program via the #include statement. The syntax of the #include statement is: #include <DefineName> <DefineName> must be associated with a #define statement. The defined block of statements are inserted into the code in place of the #include statement at the beginning of the program compilation. Example: #define HyperbolicFunctions This statement defines a set of functions that can be used to define a function proxy option in the properties section of your program. The following example shows how this could be used: #include HyperbolicFunctions The #define statement can include arguments if necessary. The syntax of the #define statement with arguments is: #define <DefineName>(<Arg>, <Arg>, ...) The #define name (<DefineName>) and each of the argument names (<Arg>) must be a valid identifier. The <Statements> within the block can reference these arguments by naming the argument, surrounded by the number sign character (#). When the block of statements is inserted into the program, the arguments passed to #include will replace these argument references. The syntax of the #include statement with arguments is: #include <DefineName>(<ArgString>, <ArgString>, ...) <DefineName> must be associated with a #define statement and the number of arguments passed in the #include statement must match the number of arguments in the associated #define statement. Each argument passed in the #include statement must be a quoted string. When the argument is substituted into the associated statements, the quotes are removed. The reason that quotes are necessary is to allow you to pass arguments with spaces, special characters, etc. (e.g., "f(x, y)"). The defined block of statements are inserted into the code in place of the #include statement at the beginning of the program compilation. Example: #define HyperbolicFunctionOption(Name, Label, Default) This statement defines a function proxy option with arguments for the option name, label, and default. The following example shows how this could be used: #include HyperbolicFunctions |
Copyright © 2004-2019 Ross Hilbert |