Provided by: golf_601.4.41-1_amd64 bug

NAME

       if-defined -  (program-flow)

PURPOSE

       Conditional compilation.

SYNTAX

           if-defined <symbol>
               <any code>
           end-defined

           if-defined <symbol> [ equal | not-equal | lesser-than | lesser-equal | greater-than | greater-equal ] <number>
               <any code>
           end-defined

           if-not-defined <symbol>
               <any code>
           end-defined

DESCRIPTION

       Without  a comparison clause, if-defined will cause <any code> to be compiled if <symbol> is defined (see
       "--cflag" option in gg); if <symbol> is not defined, then <any code> is not compiled.

       With a comparison clause, if-defined will cause <any code>  to  be  compiled  if  <symbol>  is  equal/not
       equal/lesser  than/lesser or equal/greater than/greater or equal than <number> constant, depending on the
       clause used (see "--cflag" option in gg). If <symbol> is not defined, then its value is assumed to be  0,
       and  <any  code>  may  still  be  compiled  if  the  comparison clause and the <number> are such that the
       condition is true for <symbol> being 0.

       if-not-defined will cause <any code> to be compiled if <symbol> is not defined (see "--cflag"  option  in
       gg); if <symbol> is defined, then <any code> is not compiled.

       Note  that  <symbol>  can  start  with an underscore, unlike Golf variable names; this is because defined
       symbols aren't variables and generally are set by the outside  environment  or  during  compilation  (see
       "--cflag" option in gg).

EXAMPLES

       The following code will have a different output depending on how is the application compiled:

           if-defined DEF1
               @Defined
           end-defined
           if-not-defined DEF1
               @Not defined
           end-defined
           if-defined DEF2 equal 10
               @DEF2 is 10
           end-defined
           if-defined DEF2 equal 0
               @DEF2 is 0
           end-defined

       If compiled with:

           gg -q

       then the output is:

           Not defined
           DEF2 is 0

       If compiled with:

           gg -q --cflag="-DDEF1 -DDEF2=10"

       then the output is:

           Defined
           DEF2 is 10

SEE ALSO

        Program flow

       break-loop  call-handler  code-blocks  continue-loop do-once exit-handler if-defined if-true quit-process
       return-handler start-loop See all documentation

$DATE                                               $VERSION                                           GOLF(2gg)