PACI Posted April 19, 2014 Report Share Posted April 19, 2014 Hola.Mientras toqueteaba la source me fijé en la función switch de C++, entonces decidi hacerla en lua porque es bastante útil.La función no se usa exactamente como en C++, aunque lo que hace sea parecido.Vale, todos hemos hecho quests y/o funciones super grandes, con bastantes if desnecesarios. Lo que esta funcione hace es:Verificar si var es igual a algun valor de la tabla values. Si la condición es true, hará return al valor correspondiente de la tabla output.Si es false, hará return default. En C++: int var = 1; // Declaramos la variableswitch(var) // Empezamos la verificación de la variable{ case 2: // Si es 2, hará return a "var es 2" std::cout << "var es 2" << endl; break; case 3: // Si es 2, hará return a "var es 2" std::cout << "var es 3" << endl; break; default: // Si el valor de la variable no corresponde a ninguno de los antecedentes, hará return a "var es 1" std::cout << "var es 1" << endl; break;}-> var es 1 Ahora en lua: print(switch(2, {3, 4, 5}, {"es 3","es 4","es 5"}, "no es ninguno de los anteriores, si no 2"))-> no es ninguno de los anteriores, si no 2 Pues entonces, ahí os dejo la función, para quién quiera usarla, y ya de paso, mirais como hacerla para que podrais hacer más cosas. function switch(var, values, output, default) if type(values) ~= 'table' or type(output) ~= 'table' then return false end for _, __ in ipairs(output) do default = var == values[_] and __ or default break end return defaultend Más tarde, si tengo tiempo, haré una guia de como crear diffs. Saludos. Rafa23Alzira and Jeo 2 Quote Link to comment Share on other sites More sharing options...
Jeo Posted April 19, 2014 Report Share Posted April 19, 2014 Interesante... nunca lo usaré pero está bien PACI 1 Quote Link to comment Share on other sites More sharing options...
-YC- Posted April 19, 2014 Report Share Posted April 19, 2014 La honestidad sobre todo, tal vez cuando sepa de C++ y lua la use xd PACI 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.