Intervalos Numéricos

O Prelude AdvPL implementa uma sintaxe própria para intervalos numéricos, evitando que sejam criadas instruções desnecessárias para tal, como loops.

Definição Formal

range ::= @{ <expr> [, <expr> ] .. <expr> } ;

Exemplos

Temos duas opções para intervalos numéricos: @{ x .. y }, sendo x o valor inicial e y o valor final; e @{ x, y .. z }, sendo x o valor inicial, z o valor final, seguindo num intervalo de y - x. Exemplos:

1
2
3
4
5
6
7
8
#include "prelude.ch"

Function TestInterval()
   // aRange recebe { 1, 2, 3, 4, 5 }
   Local aRange := @{ 1 .. 5 }
   // aStepRange recebe { 1, 3, 5, 7, 9, 11, 13, 15 }
   Local aStepRange := @{ 1, 3 .. 15 }
   Return 0