Bienvenidos sean a este post, hoy les traigo dos temas de los cuales uno hemos visto en este post como es la concatenacion y otro donde tambien hemos hablado pero ahora ahondaremos un poco mas como es precedencia.
La concatenacion es la capacidad de unir dos cadenas por medio de su operador (..), como dijimos une dos cadenas si uno de los datos es un numero Lua lo convertira en cadena automaticamente:
tinchicus@dbn001dsk:~/lenguaje/lua$ lua5.3
Lua 5.3.3 Copyright (C) 1994-2016 Lua.org, PUC-Rio
> print("Hello" .. " World")
Hello World
> print(0 .. 1)
01
>
Recuerden que las cadenas son inmutables y nosotros podemos usar una variable y al concatenar una informacion la misma no sera modificada, veamos el siguiente ejemplo:
tinchicus@dbn001dsk:~/lenguaje/lua$ lua5.3
Lua 5.3.3 Copyright (C) 1994-2016 Lua.org, PUC-Rio
> a="Hello"
> print(a .. " World");
Hello World
> print(a)
Hello
>
En este caso tenemos una variable llamada a donde le asignaremos un valor, en la siguiente linea concatenamos la variable a con el literal World, observen como muestra el resultado concatenado y en la siguiente linea si mostramos a la variable a nos mostrara solamente el valor sin el valor agregado anteriormente, con esto nos referimos a inmutable.
Hablemos sobre el siguiente punto como es la precedencia de operadores, esto se refiere a como Lua le da importancia a los operadores, veamos la siguiente lista:
^
not # -(unario)
* / %
+ -
..
< > <= >= ~= ==
and
or
Todos los operadores binarios se llaman asociadores de izquierda excepto por ^(exponenciacion) y ..(concatenacion) que son asociadores de derecha, a continuacion veremos algunas equivalencias entre las siguientes expresiones:
a+i < b/2+1 <--> (a+i) < ((b/2)+1)
5+x^2*8 <--> 5+((x^2)*8)
a<y and y<=z <--> (a < y) and (y <= z)
-x^2 <--> -(x^2)
x^y^z <--> x^(y^z)
En estos las expresiones de la izquierda equivalen a la de la derecha, tambien observen como LUA nos permite omitir el tema de los parentesis, si bien en el caso de la derecha tenemos una mejor vision a la hora de depurar nuestro codigo que el de la izquierda, es innegable que el de la izquierda es mas practico al ser mas resumido.
En resumen, hoy hemos visto que es la concatenacion de cadenas, como trabaja, algunas particularidades, el uso que podemos hacer, despues hemos visto la precedencia, o lo mismo que decir el orden de importancia de los operadores, como es su asociacion, tambien hemos visto un ejemplo donde vemos como una expresion equivale a la otra, espero les haya sido util sigueme en Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Tambien podes donar
Es para mantenimiento del sitio, gracias!
$1.50