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).
Como informado na décima parte desta série de artigos sobre apresentação da linguagem Lua, esporadicamente seriam mostrados outros artigos complementares com recursos que anteriormente não foram abordados. Cumprindo o prometido, apresenta-se neste artigo recursos relacionados a definição de pausa (aguardar o acionamento da tecla Enter para continuar o fluxo do programa), definição e uso da função sleep() com o objetivo de aguardar um certo tempo em segundos e a ordenação decrescente de elementos em uma matriz do tipo vetor.
Os detalhes aqui descritos são assuntos que surgiram durante os cursos de linguagem Lua ministrados.
Este artigo trata o uso de operações de aleatoriedade e a manipulação de cadeias (operações de detecção de tamanho de cadeias – revisão, repetição de caracteres, separação de cadeias, busca e substituição de caracteres, conversão em modo ASCII).
Aleatoriedade
É sabido que aleatoriedade é a característica do que é indeterminado ou incerto. Uma das possibilidades operativas de uma linguagem de programação é a capacidade de “gerar” valores numéricos aleatórios. O termo: gerar é grafado entre aspas devido a característica que os computadores possuem de fazer este trabalho de uma forma considerada não real, ou seja, por meio de uma acção considerada pseudo-aleatória. Para esta acção em linguagem Lua há as funções de geração de números aleatórios: math.randomseed() e math.rendom(). Os valores gerados por estas funções são valores pseudo-aleatórios, e necessitam ser usados com alguma cautela, tanto que há no manual de referência da linguagem Lua a advertência: Nenhuma garantia pode ser dada para suas propriedades estatísticas.
No artigo anterior demos ênfase às informações relacionadas com o uso de concatenação, precedências, variáveis indexadas, tabelas com listas, e registos. O tema deste artigo é o uso das funções.
A finalidade geral de uma função é o de retornar um valor após a execução de sua operação. Na linguagem de programação Lua, uma função poderá retornar um ou mais valores e até mesmo não retornar nenhum valor.
A linguagem Lua faz uso de funções internas e externas. Neste artigo será enfatizado o uso de funções externas.