Biblioteca Luno

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Biblioteca Luno

Eric Chiesse
Caros, desenvolvi uma biblioteca de uso geral para Lua que tenho usado em alguns projetos pessoais e agora estou disponibilizando para a comunidade.

A biblioteca se chama Luno (Lua em esperanto). Ela contem funções extras para manipular strings (trim, split, join, charAt, ...), io (getTextFromFile, ...), tabelas (imprimir tabelas, concatenar, ...) e funções de uso geral como cópia (deep copy)  e impressão (deep print) de variáveis.

Além disso, há uma biblioteca de suporte a programação funcional (luno.functional) que implementa as principais funções do paradigma funcional como map, filter e reduce. Também há suporte para composição de funções e aplicação parcial de parâmetros. É possivel por exemplo fazer:

require "luno.functional"
function soma(a,b) return a+b end
soma2 = F.partial(soma, 2)
list = {1,2,3,4}
res = F.map(soma2, list) -- res == {3,4,5,6}

E também há um pequeno framework (bem pequeno) para programação orientada a objetos (luno.oop) que permite fazer coisas simples como:
require "luno.oop"
Class"A" -- declarar uma classe
function A:init(a,b) -- definir um construtor
    self.a = a
    self.b = b
end

a = A(1,2) -- instanciar um objeto.

Herança também é prevista mudando um pouco a sintaxe.

A documentação de usuário está pendente. Peço desculpas por isso.

O projeto está disponível em: http://code.google.com/p/luno/
A maneira recomendada de instalar é via luarocks: http://luarocks.org/repositories/rocks/luno-20121129-3.src.rock
Tentem: luarocks install luno.
Se não funcionar (provavelmente por causa de algum firewall) baixem o rock acima e instalem ele localmente: luarocks install
luno-20121129-3.src.rock

Embora as versões dos pacotes do googlecode e luarocks sejam diferentes, o código lua em si é exatamente igual.

Espero que seja útil.

Saudações.

---
Eric Chiesse

--
Lua BR - http://groups.google.com/group/lua-br
Reply | Threaded
Open this post in threaded view
|

Re: Biblioteca Luno

Daniel Pimentel (d4n1)

Muito bom cara, vou testar ;-)

Daniel Melo (d4n1)

On Dec 21, 2012 5:46 PM, "Eric Chiesse" <[hidden email]> wrote:
Caros, desenvolvi uma biblioteca de uso geral para Lua que tenho usado em alguns projetos pessoais e agora estou disponibilizando para a comunidade.

A biblioteca se chama Luno (Lua em esperanto). Ela contem funções extras para manipular strings (trim, split, join, charAt, ...), io (getTextFromFile, ...), tabelas (imprimir tabelas, concatenar, ...) e funções de uso geral como cópia (deep copy)  e impressão (deep print) de variáveis.

Além disso, há uma biblioteca de suporte a programação funcional (luno.functional) que implementa as principais funções do paradigma funcional como map, filter e reduce. Também há suporte para composição de funções e aplicação parcial de parâmetros. É possivel por exemplo fazer:

require "luno.functional"
function soma(a,b) return a+b end
soma2 = F.partial(soma, 2)
list = {1,2,3,4}
res = F.map(soma2, list) -- res == {3,4,5,6}

E também há um pequeno framework (bem pequeno) para programação orientada a objetos (luno.oop) que permite fazer coisas simples como:
require "luno.oop"
Class"A" -- declarar uma classe
function A:init(a,b) -- definir um construtor
    self.a = a
    self.b = b
end

a = A(1,2) -- instanciar um objeto.

Herança também é prevista mudando um pouco a sintaxe.

A documentação de usuário está pendente. Peço desculpas por isso.

O projeto está disponível em: http://code.google.com/p/luno/
A maneira recomendada de instalar é via luarocks: http://luarocks.org/repositories/rocks/luno-20121129-3.src.rock
Tentem: luarocks install luno.
Se não funcionar (provavelmente por causa de algum firewall) baixem o rock acima e instalem ele localmente: luarocks install
luno-20121129-3.src.rock

Embora as versões dos pacotes do googlecode e luarocks sejam diferentes, o código lua em si é exatamente igual.

Espero que seja útil.

Saudações.

---
Eric Chiesse

--
Lua BR - http://groups.google.com/group/lua-br

--
Lua BR - http://groups.google.com/group/lua-br