Novedades en Harbour

Proyecto Harbour

EL equipo de Harbour sigue trabajando intensamente en el agregado de nuevas características.

Transcribo aquí algunas secciones del 'ChangeLog' mostrando los cambios más significativos de las últimas semanas:

<...>

   + tests/switch.prg
       +added support for DATE type constants in the following format:
          0dYYYYMMDD
       for example (see tests/ddate.prg for more):
       IF( dDate > 0d20051112 )

       +added support for SWITCH command (see tests/switch.prg)
          SWITCH <expr>
          CASE <integer_expression>
             ...
             [EXIT]
          CASE <string_expression>
             ...
             [EXIT]
          [OTHERWISE]
             ...
          END

    Notice:
       - Integer and string expressions can be mixed in a single
         SWITCH command with no runtime errors;
       - CASE expression have to be resolved at compile time and
         the result has to be either an integer or string constant
       - if there is no EXIT statement then next CASE is executed
         (or OTHERWISE for the last CASE)
       For example:
       CASE 1+32+2*4
       CASE CHR(64)
       CASE ASC('A')
       CASE "A"+CHR(13)

<...>

      + added support for FOR EACH loop
          FOR EACH var1 [,var255] IN expr1 [,expr255] [DESCEND]
          NEXT

          Note:
             -expr can be a string or an array
                if it is a string then assigments to the control
                variable does not change the string
             -after the loop the controlling variable(s) store the
              value which they had before entering the loop
             -the controlling variable supports the following properties
              :__enumindex - the loop counter for variable
              :__enumbase  - the value that is being traversed
              :__enumvalue - the value of variable
             -see tests/foreach.prg for examples

       + added warnings in cases of duplicated loop variables
        eg. FOR i:=1 TO 5
             FOR i:=i TO i+5