Lua – Linguagem de Programação – Parte 13

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.

[...]

Leia o artigo completo na edição 58 da Revista PROGRAMAR

Publicado na edição 58 (PDF) da Revista PROGRAMAR.