Atualização da biblioteca de Classes (objeto)

Fiz uma modificação na biblioteca de Classes (orientação a objetos) e adicionei uma função que permite inclusão de um construtor para personalizar a criação de novos objetos.

Não se preocupe, há compatibilidade total com a versão anterior.

Antes se instanciava um novo objeto de uma classe unicamente com o método:

Agora é possível criar a própria função construtora, executando a tabela como se fosse uma função, veja:

 

Esta nova biblioteca classe.pris estará disponível em nova versão prisma.

Se você gostaria de usar copie o código abaixo e salve como classe.pris (sem compilar mesmo) no diretório padrão Prisma, ou na pasta onde está o programa que irá usá-la.

(No Linux é:  /usr/local/share/prisma/1.0/plib/

No Windows é: C:\\Prisma\\1.0\\bin\\plibs\\ )

Segue o código:

Observe que eu pesquisei no livro Programming in Lua para conseguir trazer esta funcionalidade para Prisma.

Sempre que puder, vou reaproveitar códigos já existentes em Lua, afinal, para que reinventar a roda se ela já existe.

Em alguns casos, devido à licença ou complexidade, irei eu mesmo fazer a biblioteca se necessário, como já fiz antes (igpbr.so, psqlite3, entre outras);

Note que nos exemplos usei dois pontos (:) para acessar os métodos, ou hífen e maior que (->), tanto faz, use a forma que preferir, obj->mostre ou obj:mostre();

É necessário usar esses sinais quando se quer passar o próprio objeto automaticamente como parâmetro especial ‘este’;

*** Se preferir pode criar os métodos de uma classe na própria classe e não depois como no exemplo:

A diferença quando se declara uma função dentro de uma tabela é que devemos fazer como se estivéssemos declarando uma variável qualquer:

nome_func = funcao(este) … fim

E devemos, também, passar o parâmetro este explicitamente, pois não temos os dois pontos no nome da função.

Por enquanto é isso, até mais…

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *