Customizações Avançadas
Bibliotecas
Functional
métodos utilizados para programação funcional atalhos /#map /#reduce /#windows métodos map cria uma nova tabela preenchida com os resultados da chamada de uma função fornecida em cada elemento da tabela de chamada \ @param table tabela que será usada na função \ @param callbackfn uma função a ser executada para cada elemento na tabela \ @return table uma nova tabela com os elementos mapeados table map(table, callbackfn) \ example usage local t = { 10, 20, 30} local result = table filter(t, function(x) return x 2 end) \ {20, 40, 60} filter cria uma cópia de uma parte de uma determinada matriz, filtrada apenas para os elementos da matriz fornecida que passam no teste implementado pela função fornecida \ @param table tabela que será usada na função \ @param callbackfn uma função a ser executada para cada elemento do array ela deve retornar um valor verdadeiro para manter o elemento no array resultante e um valor falso caso contrário \ @return table uma nova tabela com os elementos mapeados table filter(table, callbackfn) \ example usage local t = { 90, 19, 16, 14, 1, 2, 3, 4, 5, 6, 7, 8 } local result = table filter(t, function(x) return x > 5 end) \ {90, 19, 16, 14, 6, 7, 8} reduce o método reduce() executa uma função de retorno de chamada "redutor" fornecida pelo usuário em cada elemento do array, em ordem, passando o valor de retorno do cálculo no elemento anterior o resultado final da execução do redutor em todos os elementos do array é um único valor table reduce(table, callbackfn(accumulator, value), initialvalue) table tabela que será usada na função callbackfn uma função a ser executada para cada elemento de uma tabela seu valor de retorno se torna o valor do parâmetro accumulator na próxima invocação de callbackfn para a última invocação, o valor de retorno se torna o valor de retorno de reduce() a função é chamada com os seguintes argumentos accumulator o valor resultante da chamada anterior para callbackfn na primeira chamada, seu valor é initialvalue se o último for especificado; caso contrário, seu valor é table\[1] value o valor do elemento atual na primeira chamada, seu valor é table\[1] se initialvalue for especificado; caso contrário, seu valor é table\[2] initialvalue um valor para o qual o acumulador é inicializado na primeira vez que o retorno de chamada é chamado se initialvalue for especificado, callbackfn inicia a execução com o primeiro valor no array como currentvalue se initialvalue não for especificado, o acumulador é inicializado com o primeiro valor da tabela e callbackfn inicia a execução com o segundo valor na tabela como currentvalue valor de retorno o valor resultante da execução da função de retorno de chamada "redutor" até a conclusão em todo o array observação na linguagem de programação lua, o indice de posição de um elemento em uma tabela (array) começa em 1 \ example usage local t = { 2, 3, 4, 5 } local result = table reduce(t, function(accum, value) return accum value end, 2) \ 240 windows cria janelas continuas de tamanho size de uma tabela \ @param table tabela que será usada na função \ @param size tamanho da janela \ @return table uma nova tabela com todas as janelas table windows(table, size) \ example usage local t = { 1, 2, 3, 4} local result = table windows(t, 3) \ \[\[ result { {1, 2, 3}, {2, 3, 4} } ]]