Mostrando entradas con la etiqueta notas. Mostrar todas las entradas
Mostrando entradas con la etiqueta notas. Mostrar todas las entradas

martes, 21 de junio de 2011

[Notas Erlang] Unbounding Variables

Erlang es un lenguaje de asignación única por lo que una variable no puede cambiar su valor. Cuando se asigna un valor a una variable, este valor es difinitivo.

Se puede eliminar la relación entre una variable y su valor, a esto se le llama unbounding. No se debe usar esta función cuando se está programando, yo sólo lo uso cuando estoy haciendo pruebas con la consola y no quiero tener un gran número de variables que representen lo mismo.

Para realizar el unbounding se usa la funcion f().
f() realiza el unbounding de todas la variables; pero si se le pasa una variable como parámetro, sólamente hará el unbounding sobre esa variable.

1> A = 1.
1
2> B = 2.
2
3> A.
1
4> f(A).
ok
5> A.
* 1: variable 'A' is unbound
6> B.
2
7> f().
ok
8> B.
* 1: variable 'B' is unbound

jueves, 9 de septiembre de 2010

Nota: Trabajando con listas en Python. Igualar listas.

Estaba depurando un programa y me he dado cuenta de como funcionan las listas en python al igualarse.
Si se iguala una lista a otra, no se está creando una nueva lista con los valores de la anterior, si no que estás creando un nuevo nombre para la misma lista.

Voy a poner un ejemplo donde se ve claramente:

l1 = []
l1.append('1')
l1.append('2')
l2 = l1
l2.append('3')
print l1
>> ['1', '2', '3']