Skip to content

Commit 8b55054

Browse files
authored
Merge pull request mouredev#5701 from santyjL/main
#2 - Lua
2 parents ac26782 + 0e2465c commit 8b55054

File tree

1 file changed

+113
-0
lines changed

1 file changed

+113
-0
lines changed
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
--[[
2+
/*
3+
* EJERCICIO:
4+
* - Crea ejemplos de funciones básicas que representen las diferentes
5+
* posibilidades del lenguaje:
6+
* Sin parámetros ni retorno, con uno o varios parámetros, con retorno...
7+
* - Comprueba si puedes crear funciones dentro de funciones.
8+
* - Utiliza algún ejemplo de funciones ya creadas en el lenguaje.
9+
* - Pon a prueba el concepto de variable LOCAL y GLOBAL.
10+
* - Debes hacer print por consola del resultado de todos los ejemplos.
11+
* (y tener en cuenta que cada lenguaje puede poseer más o menos posibilidades)
12+
*
13+
* DIFICULTAD EXTRA (opcional):
14+
* Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
15+
* - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
16+
* - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
17+
* - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
18+
* - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
19+
* - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
20+
*
21+
* Presta especial atención a la sintaxis que debes utilizar en cada uno de los casos.
22+
* Cada lenguaje sigue una convenciones que debes de respetar para que el código se entienda.
23+
*/
24+
]]
25+
26+
--funcion si parametros ni retornos
27+
function escalera ()
28+
local valor = "*"
29+
print("\n")
30+
for i=1 , 10 do
31+
print(valor)
32+
valor = valor .. "*" -- con .. se pueden concatenar tanto string como listas
33+
end
34+
end
35+
36+
escalera()
37+
38+
print("")
39+
40+
-- funcion con parametros y retornos
41+
function sumador(num1 , num2)
42+
return num1 + num2 -- return te da el valor para que lo puedas usar
43+
end
44+
45+
print(sumador(2 , 3))
46+
47+
-- funciones dentro de funciones
48+
print("")
49+
50+
function correr()
51+
function caminar()
52+
return "caminando"
53+
end
54+
55+
local accion = ""
56+
accion = caminar()
57+
print(accion)
58+
accion = "corriendo"
59+
print(accion)
60+
end
61+
62+
print(correr())
63+
print("que estas haciendo ? : " .. caminar())
64+
65+
local numero_random = math.random(0 , 100)
66+
local numero_maximo = math.max(7 , numero_random , 40)
67+
local cuadrado = math.sqrt(numero_random)
68+
local texto = "Hola mundo day"
69+
print("\nfunciones matematicas")
70+
71+
print("numero random : " .. numero_random)
72+
print("el maximo entre el numero 7 " .. numero_random .. " y el 40 : " .. numero_maximo)
73+
print("la raiz cuadrado del numero " .. numero_random .. " es : " .. cuadrado)
74+
75+
print("\nfunciones de string : ")
76+
print(string.upper(texto) .. " funcion string.upper()")
77+
print(string.lower(texto) .. " funcion string.lower()")
78+
print(string.len(texto) .. " funcion string.len()")
79+
80+
local variable_local = "esta es una varible local , solo funciona en este archivo"
81+
variable_glogal = "esta es una varible global se puede usar en otro archivos .lua"
82+
83+
print("")
84+
print(variable_local)
85+
print(variable_glogal)
86+
87+
-- Extra
88+
89+
local function fizz_buzz(a , b)
90+
local contador = 1
91+
while contador <= 100 do
92+
if contador % 3 == 0 and contador % 5 == 0 then
93+
print(contador .. a .. b)
94+
95+
else if contador % 5 == 0 then
96+
print(contador .. b)
97+
98+
else if contador % 3 == 0 then
99+
print(contador .. a)
100+
101+
else
102+
print(contador)
103+
104+
end
105+
end
106+
end
107+
contador = contador + 1
108+
109+
end
110+
111+
end
112+
113+
print(fizz_buzz(" fizz" , " buzz"))

0 commit comments

Comments
 (0)