summaryrefslogtreecommitdiffhomepage
path: root/es-es
diff options
context:
space:
mode:
author[Ernesto] <[ernesto.p@itmexicali.edu.mx]>2018-09-19 13:07:32 -0700
committer[Ernesto] <[ernesto.p@itmexicali.edu.mx]>2018-09-19 13:07:32 -0700
commitabaf836249bf8ab7f2e6d13fa96baca0c7e4e8a1 (patch)
tree59784884d887ef99b39bd0ba357e276f1fb52793 /es-es
parent42a4294151d0f86069ed01e5d34f52dc450a8d0d (diff)
add part 1 Variables and pattern matching
Diffstat (limited to 'es-es')
-rw-r--r--es-es/erlang-es.html.markdown93
1 files changed, 93 insertions, 0 deletions
diff --git a/es-es/erlang-es.html.markdown b/es-es/erlang-es.html.markdown
new file mode 100644
index 00000000..82a63b23
--- /dev/null
+++ b/es-es/erlang-es.html.markdown
@@ -0,0 +1,93 @@
+---
+language: Erlang
+lang: es-es
+contributors:
+ ["Giovanni Cappellotto", "http://www.focustheweb.com/"]
+translators:
+ - ["Ernesto Pelayo", "http://github.com/ErnestoPelayo"]
+filename: learnerlang.erl
+---
+# Erlang
+% Signo de porcentaje inicia un comentario de una línea.
+
+%% Se usarán dos por ciento de caracteres para comentar funciones.
+
+%%% Se usarán tres por ciento de caracteres para comentar los módulos.
+
+### Utilizamos tres tipos de puntuación en Erlang.
+
++ **Comas (`,`)** argumentos separados en llamadas a funciones, constructores de
+datos y patrones.
+
++ **Periodos (`.`)** (seguido de espacios en blanco) separa funciones completas y
+expresiones en el shell.
+
++ **Semicolons (`;`)** cláusulas separadas. Encontramos cláusulas en varios contextos: de definiciones de funciones y en **`case`**,**` if`**, **`try..catch`**, y **` receive`** de expresiones.
+
+ ## 1.-Variables y coincidencia de patrones.
+
+
+- En Erlang, las nuevas variables están vinculadas con una instrucción **`=`**.
+>**Num = 42.**
+
+- Todos los nombres de variables deben comenzar con una letra mayúscula.
+
+- Erlang tiene variables de asignación única; si intentas asignar un diferente de valor a la variable **`Num`**, obtendrá un error.
+Num = 43. **error de excepción**: no coincide con el valor del lado derecho 43
+
+- En la mayoría de los idiomas, **`=`** denota una declaración de asignación. En Erlang, sin embargo,**`=`** denota una operación de coincidencia de patrones.
+
+- Cuando se usa una variable vacía en el del lado izquierdo del operador `=` to está vinculado (asignado), pero cuando está atado variable se usa en el lado izquierdo, se observa el siguiente comportamiento.
+>**`Lhs = Rhs`** realmente significa esto: evaluar el lado derecho (**` Rhs`**), y luego coincide con el resultado contra el patrón en el lado izquierdo (**`Lhs`**).
+>**Num = 7 * 6.**
+
+- Número de punto flotante.
+Pi = 3.14159.
+
+- Los átomos se usan para representar diferentes valores constantes no numéricos.
+
+- Átomos comienza con letras minúsculas, seguido de una secuencia de caracteres
+
+- alfanuméricos de caracteres o el signo de subrayado (**`_`**) o en (**` @ `**).
+>**Hola = hola.**
+ **OtherNode = ejemplo @ nodo.**
+
+- Los átomos con valores no alfanuméricos se pueden escribir al encerrar los átomos con apóstrofes.
+>**AtomWithSpace = 'algún átomo con espacio'.**
+
++ Tuples son similares a las estructuras en C.
+>**Point = {point, 10, 45}.**
+
+- Si queremos extraer algunos valores de una tupla, usamos el patrón de coincidencia
+ operador **`=`**.
+> **{punto, X, Y} = Punto. % X = 10, Y = 45**
+
+- Podemos usar **`_`** como marcador de posición para variables que no nos interesan.
+
+- El símbolo **`_`** se llama una variable anónima. A diferencia de las variables regulares,varias apariciones de `_` en el mismo patrón no tienen que vincularse a mismo valor.
+>**Person = {person, {name, {first, joe}, {last, armstrong}}, {footsize, 42}}.**
+**{_, {_, {_, who }, _}, _} = Persona. % Who = joe**
+
++ Creamos una lista al encerrar los elementos de la lista entre corchetes y separándolos con comas.
+
++ Los elementos individuales de una lista pueden ser de cualquier tipo.
+
+- El primer elemento de una lista es el encabezado de la lista. Si te imaginas eliminar del encabezado de la lista, lo que queda se llama cola de la lista.
+>**ThingsToBuy = [{manzanas, 10}, {peras, 6}, {leche, 3}].**
+
+- Si `T` es una lista, entonces **` [H | T] `** también es una lista, con la cabeza **` H`** y la cola **`T`**.
+
++ La barra vertical (**`|`**) separa el encabezado de una lista de su cola.
+ **`[]`** es la lista vacía.
+
++ Podemos extraer elementos de una lista con una operación de coincidencia de
+ patrones. Si nosotros tiene una lista no vacía **`L`**, luego la expresión **` [X | Y] = L`**, donde **`X`** y **` Y`** son variables independientes, extraerán el encabezado de la lista en **`X`** y la cola de la lista en **`Y`**.
+>**[FirstThing | OtherThingsToBuy] = ThingsToBuy.**
+**FirstThing = {manzanas, 10}**
+**OtherThingsToBuy = [{peras, 6}, {leche, 3}]**
+
++ No hay cadenas en Erlang. Las cadenas son realmente solo listas de enteros.
+
++ Las cadenas están entre comillas dobles (**`" `**).
+>**Nombre = "Hola".
+[72, 101, 108, 108, 111] = "Hola".**