Mudanças entre as edições de "Operador script"

De opensipsbrasil - wiki
Ir para navegação Ir para pesquisar
(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";
 
@]
 
  
There is a special assign operator ':=' (colon equal) that can be used with AVPs. If the right value is '''null''', all AVPs with that name are deleted. If different, the new value will overwrite any existing values for the AVPs with than name (on other words, delete existing AVPs with same name, add a new one with the right side value).
+
$var(a) = 123;
 +
$ru = "sip:user@domain";
  
[@
 
$avp(val) := 123;
 
@]
 
  
!!!!String operations
+
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) .
  
For strings, '+' is available to concatenate.
 
  
[@
+
$avp(val) := 123;
$var(a) = "test";
 
$var(b) = "sip:" + $var(a) + "@" + $fd;
 
@]
 
  
  
!!!!Arithmetic and bitwise operations
+
==Operações com String==
  
For numbers, one can use:
+
Para string o caractere '+' está disponível para concatenação
  
* + : plus
+
 
* - : minus
+
$var(a) = "test";
* / : divide
+
$var(b) = "sip:" + $var(a) + "@" + $fd;
* * : multiply
+
 
* % : modulo
+
 
 +
 
 +
==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
  
Example:
 
  
[@
+
$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 ' [ ... ] '
  
NOTE: to ensure the priority of operands in expression evaluations do use __parenthesis__.
 
  
Arithmetic expressions can be used in condition expressions via test operator ' [ ... ] '.
 
  
[@
+
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");


Voltar