Anterior  Sumário  Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

Estruturas OPUS

Propósito

A linguagem de programação OPUS permite que sejam declaradas estruturas.

Sintaxe

[struct] { <campo>  [, ... <campo>]} <nome>

A declaração de um campo tem a sintaxe:

<nome><tipo>

Onde <tipo> pode ser:

Utilização

As estruturas são utilizadas principalmente para representar expressões JSON.

Exemplo

Estude detalhadamente o abaixo:

prog
struct {a(Y)} s0   && declara estrutura tipo s0 
private v0{s0}     && declara variável v0 como estrutura tipo s0
v0->a="v0a"        && valor do campo a é v0a
struct {e1(Y), e2(N), e3(L), e4{s0}, e5[], e6[]{s0}} s1
private v1{s1}     && declara variável v1 como estrutura tipo s1
dynamic d1         && declara d1 como variavel dinâmica
d1="e1"
v1->e1=d1          && e1 é dinâmico
v1->e2=22          && e2 é numérico
v1->e3=.T.         && e3 é lógico
v1->e4=&v0         && ou v1->e4=jsons(v0) - e4 é estrutura tipo s0 
decl va[2]="v1"    && declara va como um vetor cadeia
va[2]="v2"
v1->e5=&va         && ou v1->e5=jsona(va) - e5 é um vetor cadeia
decl vs[]{s0}      && declara vs como um vetor de estruturas tipo s0
vs[1]->a="vsa"
v1->e6=&vs         && ou v1->e6=jsonv(vs) - e6 é um vetor de estruturas tipo s0
dynamic d2         && para conter o valor da estrutura
d2=&v1             && ou d2=jsons(v1) - v1 é uma estrutura
 ? d2
Exibe:
{"e1":"e1","e2":22,"e3":true,"e4":{"a":"v0a"},"e5":["v1","v2"],"e6":[{ "a":"vsa"}]}

Consulte

JSONS(), JSONA(), JSONV()

Anterior  Sumário  Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!