Neste artigo são apresentadas algumas operações complementares ao conjunto de informações indicadas em outros artigos, tais como: passagem de parâmetro por matriz, funções anónimas (lambda), funções aninhadas (clousure), simulação do uso e tratamento de exceções, matrizes internas e compilação de programas.
Passagem de parâmetro por matriz
A linguagem Lua diferencia-se em diversos detalhes de linguagens de programação estruturadas e orientadas a objeto, principalmente o que tange a definição e uso de sub-rotinas (métodos).
É sabido que a linguagem Lua opera com sub-rotinas em estilo função não tendo de forma explícita em sua estrutura operacional a figura dos procedimentos o que, muitas vezes, leva um programador a fazer uso de funções como se fossem procedimentos. No entanto, é possível perceber a figura de um procedimento em Lua como será apontado.
Outro diferencial encontrado na linguagem de programação Lua é o facto desta somente aceitar a passagem de parâmetros por valor, não se utilizando da passagem de parâmetro por referência. No entanto, uma função Lua definida pelo programador consegue retornar mais de um valor a sua chamada. Assim justificando a ausência de passagem de parâmetro por referência.
Essas características operacionais trazem à tona uma questão curiosa na linguagem em relação à passagem de parâmetro com matrizes. Em Lua a passagem de parâmetro por matriz ocorre como referência sem que nada necessite ser definido para tal ação.
Para demonstrar a passagem de parâmetro por matriz tome, como exemplo, um programa que apresente o resultado do somatório dos elementos de uma matriz.
[...]