Jump to content

Recommended Posts

Posted

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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies to enhance your browsing experience and provide relevant content. By continuing to browse, you agree to our We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. and Terms of Use. For more information on how we protect your data, please check our Privacy Policy.