Soluciones IT Los siguientes códigos de ejemplo los puedes copiar y pegar en este intérprete online si quieres ejecutarlo. 1. Empezaremos con un poco de código típico si no se hace esto no es lenguaje de programación. io.write("hola mundo") Resultado inesperado hola mundo 2. Probemos a usar unas variables así le echaremos un vistazo a como Lua usa los valores -- En lua no tienes que especificar el tipo de variable esto es una mu estra -- el \n es solo un salto de línea i = 5 io.write(i,"\n") -- que como no lo entiendo mmmm otro ejemplo i,j=9,6 io.write(j," ",i,"\n") --O.O pero que .... lua si las variables son del mismo tipo permite es ta --asignación -- Problemas con un intercambio i,j=j,i io.write(j," ",i,"\n") --Facil verdad XD Los resultados... page 1 / 8 Soluciones IT 5 6 9 9 6 3. BloquesLa gran diversión de Lua es la forma tan divertida de estructuras esto es importante al hacer proyectos grandes Lua se compone de bloques y para aplicarle un orden a los bloque están los Chunks .De momento empecemos por bloques simples: 3.1 IF / IF-ELSE --Declaramos una variable a a=2 --empieza el bloque si a es menor que 4 dale valor 4 if a<4 then a = 4 end --lo mostramos io.write(a,"\n") --Venga que estamos a full vamos hacerle el else --declaramos variables b,c=5,7 -- si c es menor que b devuelve c si no devuelve b if c<b then return c else return b end Resultado... 4 5 page 2 / 8 Soluciones IT 3.2 While --Declaramos dos variables a y b mi originalidad aumenta por momentos a = 5 b = 0 -- si a es mayor que 0 sumarle a b 1 (b se autoincrementa por que esta dentro del -- bloque pero si estuviera fuera del bloque un = lo sustituiriá )cua ndo a es 0 -- sale del bloque while a > 0 do b = b + 1 a = a - 1 end --mostramos b io.write(b,"\n") Resultado... 5 3.3 REPEAT --pues lo de siempre una variables a = 5 b = 0 -- bloque repeat es como el do While en java o c# sta a a -- y repitelo as ta que a sea menor de 1 entra suma repeat b = b + 1 a = a - 1 page 3 / 8 a b re Soluciones IT until a < 1 -- muestralo io.write(b) Resultado... 5 3.4 FOR -- hay dos formas de usar for si lo dejamos sin el incrementador por d efecto es -- +1 -- como podemos ver en el primer ejemplo -- iniciamos bloque i vale 1 y el rango esta en 10 e -- incrementa en cada vuelta i s for i=1,10 do io.write(i," ") end -- en este segundo el incrementador es negativo y se le añade y ya est a puede -- ser positivo negativo y no -- necesita ir de 1 en 1 for i=10,1,-1 do io.write(i," ") end Resultado... --Resultado divertido XD page 4 / 8 Soluciones IT 1 2 3 4 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1 4 Ya estamos a tope vamos ha ver unas tablas :) -- nuestra tabla lo que se encuentra entre [] es el indice del igual -- es su valor semanita = {["lunes"] = ["miercoles"] ["viernes"] = ["domingo"] = y despues 1, ["martes"] = 2, = 3, ["jueves"] = 4, 5, ["sabado"] = 6, 7} -- motramos que hay en jueves y el resultado es 5 x = "jueves" print(semanita[x]) -- queremos que ver que hay en el 5 el resultado es null ya que no exi ste en el -- indice x = "5" print(semanita[x]) -- si queremos declarar una tabla normal sin indices que no sean por d efecto a -- si es XD semanita = {"lunes" , "martes", "miercoles" , "jueves" , "viernes" , "sabado", "domingo" } page 5 / 8 Soluciones IT 5 Funciones -- Estan las funciones simples pero esas ya los conocemos y son muy ab urridas -- sumar + , restar - , multiplicar * , dividir / , resto % a si que v amos -- a pasar a funciones de verdad Yupiii --La cosa se pone mas interesante esta funcion devuelve dos numeros evuelve -- el mayor de una lista y en que posicion esta O.O d --Lo primero nombre de funcion y el numero de argumentos function masgrande (a) -- variable b = a 1 que es donde guardaremos la posicion de donde esta la -- posicion del numero mas grande b = 1 -- la variable c = a[b] el significado es que c vale el primer valor d e la --tabla a significa con esto que lo que recibe la funcion es una tabla c = a[b] -- un for nuevo es el equivalente al foreach el -- contenido de la tabla a en ese momento contador i ,valor vale for i,valor in ipairs(a) do --un if compara el valor con el el valor guardado al principio si es m ayor -- el valor mayor cambia y b guarda la posicion if valor > c then b = i page 6 / 8 Soluciones IT c = valor end end -- cierra for y if y devuelve c y b on donde c es el mayor y b su posici return c, b end --Muestra io.write(masgrande({20,10,23,55,5})) --> 23 3 Resultado... 55 4 6.Arrays -- Esto ya no hace falta comentarlo denas a = {"uno", "dos", "tres"} for i, v in ipairs(a) do print(i, v) end es lo mismo que antes pero con ca -- Bueno Array basica --Declaracion y inicializacion a = {} for i=1, 100 do --Asignacion si todas las posiciones valen 0 a[i] = 0 end **--Bueno vamos ha ponernos serios no se por que sale en negrita :( --vamos hacer una S.A una super array un array de array ya casi somos profesionales page 7 / 8 Soluciones IT -- la declaramos** sa = {} -- primer bloque for i=1,10 do --creamos un array en la posicion i del primer array sa[i] = {} --segundo bloque for j=1,10 do --asignamos valor mostramos y cerramos los dos bloques sa[i][j] = i io.write(sa[i][j],"\n") end end page 8 / 8 Powered by TCPDF (www.tcpdf.org)