switch(tabela, valor [, ...])
Lua não fornece uma instrução switch ou case, portanto, nzLua fornece uma alternativa usando uma função switch.
O primeiro argumento para switch é uma tabela de pesquisa que contém um conjunto de funções. O segundo argumento seleciona a função a ser chamada. Todos os argumentos adicionais serão passados para a função que corresponde ao valor de pesquisa.
O primeiro argumento passado para as funções na tabela de pesquisa será sempre o valor que foi usado para pesquisar a função. O restante dos argumentos será passado da mesma forma que foi fornecido à instrução switch. Se o valor de pesquisa não for encontrado na tabela, a função switch chamará a função padrão.
ops={}
ops['+'] = function(op,a,b) return a+b end
ops['-'] = function(op,a,b) return a-b end
ops['*'] = function(op,a,b) return a*b end
ops.default = function(op,a,b)
error( 'Invalid operation: ' || op, 0 )
end
result = switch(ops,'*',6,7)