Programación en Erlang/Operadores y símbolos del lenguaje
Operadores de Control
editarSimbolo | Propósito |
---|---|
, | Separador de Comando |
; | Separador de Comando |
. | Finalizador de Comando |
-> | Declaración de Funciones o Guard |
% | Comentario |
Erlang puede ser un poco confuso ya que existen 2 tipos de separadores de comando. La , se utiliza para separar expresiones. Esto generalmente se utiliza cuando se tiene una expresión después de otra como es en la programación secuencial. El separador ; es utilizado cuando existen distintos niveles de comandos que necesitan ser finalizados como en el caso de case o guard. El . se utiliza para terminar una función (o expresión, si se está corriendo desde la consola). Los comentarios inician con un % y cubre el resto de la oración pero lo el final, el final de un comentario es marcado por un “ “ (espacio).
Expresiones Aritmeticas
editarSimbolo | Proposito | Tipo de Datos |
---|---|---|
+ | Suma | Enteros o Flotantes |
- | Resta | Enteroso o Flotantes |
* | Multiplicación | Enteros o Flotantes |
div | División de Enteros | Enteros |
/ | División de Punto Flotante | Enteros |
rem | División Modular | Entero |
Erlang utiliza notación infija para las operaciones aritméticas. Por ejemplo: (2+3)*2 se evaluaría a 10 como esperado. Ya que Erlang es el tipo de lenguaje dinámico se requiere un operador especial para prevenir la coerción a un punto flotante. Utilizando el operador / causaría la misma conversión implícita.
Ejemplos:
1> +1. 1 2> -1. -1 3> 1+1. 2 4> 4/2. 2.0 5> 5 div 2. 2 6> 5 rem 2. 1
Operadores Áritmeticos de Bit a Bit
editarSímbolo | Propósito | Tipo de Datos |
---|---|---|
band | Y Lógica | Entero |
bor | O Lógica | Entero |
bxor | O exclusiva Lógica | Entero |
bnot | No Lógico Unario | Entero |
bsl | Bitshift Left | Entero |
bsr | Bitshift Right | Entero |
Ejemplos:
0 2> 2#10 bor 2#01. 3 3> a + 10. ** exception error: bad argument in an arithmetic expression in operator +/2 called as a + 10 4> 1 bsl (1 bsl 64). ** exception error: a system limit has been reached in operator bsl/2 called as 1 bsl 18446744073709551616
Operadores Lógicos
editarSímbolo | Propósito |
---|---|
and | Y Lógica (AND) |
or | O Lógica (OR) |
xor | O Exclusiva (XOR) |
not | No Lógica (NOT) |
Ejemplos:
1> not true. false 2> true and false. false 3> true xor false. true 4> true or garbage. ** exception error: bad argument in operator or/2 called as true or garbage