Mudanças entre as edições de "Operador script"
(Criou página com 'Atribuições , operações aritimeticas ou de string podem ser diretamente realizadas através do arquivo de configuração ==Atribuição== Atribuiçòes podem ser realiz...') |
|||
Linha 2: | Linha 2: | ||
− | ==Atribuição== | + | ==Operação de Atribuição== |
Atribuiçòes podem ser realizada como em programação em C, através do operador '=', observe que nem todas as variáveis podem ser escritos , existem algumas que são apenas leitura, você pode verificar as [[Váriaveis_Core|Variaveis de Core]] para saber quais podem ser escritas | Atribuiçòes podem ser realizada como em programação em C, através do operador '=', observe que nem todas as variáveis podem ser escritos , existem algumas que são apenas leitura, você pode verificar as [[Váriaveis_Core|Variaveis de Core]] para saber quais podem ser escritas | ||
− | |||
− | |||
− | |||
− | |||
− | + | $var(a) = 123; | |
+ | $ru = "sip:user@domain"; | ||
− | |||
− | |||
− | |||
− | + | Existe um operadora especial para atribuição ':=' que pode ser utilizado com AVP's , se o valor da direita é '''null''', todos os AVP's com aquele nome serão deletados, se for diferente, o novo valor irá substituir qualquer valor existente para o AVP com aquele nome ( em outras palavras, deleta AVPS's com aquele nome e adiciona um novo com o valor da direita) . | |
− | |||
− | + | $avp(val) := 123; | |
− | $ | ||
− | |||
− | |||
− | + | ==Operações com String== | |
− | + | Para string o caractere '+' está disponível para concatenação | |
− | * + : | + | |
− | * - : | + | $var(a) = "test"; |
− | * / : | + | $var(b) = "sip:" + $var(a) + "@" + $fd; |
− | * * : | + | |
− | * % : | + | |
+ | |||
+ | ==Operações Aritméticas e bit a bit== | ||
+ | |||
+ | Para números podemos usar: | ||
+ | |||
+ | * + : mais | ||
+ | * - : menos | ||
+ | * / : divisão | ||
+ | * * : multiplicação | ||
+ | * % : módulo | ||
* | : bitwise OR | * | : bitwise OR | ||
* & : bitwise AND | * & : bitwise AND | ||
Linha 43: | Linha 43: | ||
* >> : bitwise right shift | * >> : bitwise right shift | ||
− | |||
− | + | $var(a) = 4 + ( 7 & ( ~2 ) ); | |
− | $var(a) = 4 + ( 7 & ( ~2 ) ); | + | |
− | + | ||
+ | Nota: Para garantir a prioridade dos operadoras utilize parenteses. | ||
+ | |||
+ | Expressões Aritméticas podem ser ser utilizadas em expressões de condição via operadora de teste ' [ ... ] ' | ||
− | |||
− | |||
− | + | if( [ $var(a) & 4 ] ) | |
− | if( [ $var(a) & 4 ] ) | ||
log("var a has third bit set\n"); | log("var a has third bit set\n"); | ||
− | + | ||
+ | |||
+ | |||
+ | [[OpenSIPS_1.9_Manual|Voltar]] |
Edição atual tal como às 23h50min de 6 de outubro de 2013
Atribuições , operações aritimeticas ou de string podem ser diretamente realizadas através do arquivo de configuração
Operação de Atribuição
Atribuiçòes podem ser realizada como em programação em C, através do operador '=', observe que nem todas as variáveis podem ser escritos , existem algumas que são apenas leitura, você pode verificar as Variaveis de Core para saber quais podem ser escritas
$var(a) = 123; $ru = "sip:user@domain";
Existe um operadora especial para atribuição ':=' que pode ser utilizado com AVP's , se o valor da direita é null, todos os AVP's com aquele nome serão deletados, se for diferente, o novo valor irá substituir qualquer valor existente para o AVP com aquele nome ( em outras palavras, deleta AVPS's com aquele nome e adiciona um novo com o valor da direita) .
$avp(val) := 123;
Operações com String
Para string o caractere '+' está disponível para concatenação
$var(a) = "test"; $var(b) = "sip:" + $var(a) + "@" + $fd;
Operações Aritméticas e bit a bit
Para números podemos usar:
- + : mais
- - : menos
- / : divisão
- * : multiplicação
- % : módulo
- | : bitwise OR
- & : bitwise AND
- ^ : bitwise XOR
- ~ : bitwise NOT
- << : bitwise left shift
- >> : bitwise right shift
$var(a) = 4 + ( 7 & ( ~2 ) );
Nota: Para garantir a prioridade dos operadoras utilize parenteses.
Expressões Aritméticas podem ser ser utilizadas em expressões de condição via operadora de teste ' [ ... ] '
if( [ $var(a) & 4 ] ) log("var a has third bit set\n");