lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]



El 04/09/2004, a las 18:14, hydrogen escribió:

    Para que eu obtenha funcionalidades extras, como utilizar 'add-ons' (COM, por exemplo, ou LUASQL), é necessário que eu gere um novo executável (compilar um novo programa em C), adicionando as bibliotecas de LUA com aquelas do 'add-on' desejado. Isso vai extender as possibilidades de utilização da interface lua.exe, [...]

Essa é uma das maneiras nas que você pode engadir funcionalidades extras ó interprete lua.exe: compilarlo de novo engadindo aquelas cousas que você precisar.

[That is one of the ways you have to add extra functionality to the lua.exe enterpreter: compile it again adding that things you need.]

[...] Não é possível simplesmente adicioná-lo como extensão da linguagem, no caso, apartir do próprio script.lua, sem a necessidade de recompilar?

Dende a versão 5 Lua inclúe funcionalidade para cargar extensoes para a linguaxe por medio da función loadlib(), que receve como primeiro argumento o arquivo de biblioteca que contém a extensão, e como segundo o nome dunha función dessa biblioteca que realiza os preparativos para que a extensão estexa dispoñible. loadlib() devolve entón unha función que debe ser invocada antes de escomezar a utiliza-la extensão.

[From Lua version 5 functionality to load extensions is provided by means of the loadlib() function, that receives as first argument the name of the library file that contains the extension, and the name of a function within that library that performs initialization so the extension is available. loadlib() returns a function that must be called before using the library]

Exemplo [example]:

func = loadlib("luasocket.dll", "luaLM_import")
if (func ~= nil) then
	func()
else
	error("cannot load luasocket.dll!)
end
-- agora xa se poden utilizar funcións cargadas dende luasocket.dll
-- [now functions loaded from luasocket.dll can be used]


Agradeço qualquer norte, [...]

Eu aconsello-lhe que utilice LuaCheia (http://luacheia.sourceforge.net), uma distribuçao de Lua 5 que inclúe algunhas das librerías que você comenta (LuaCOM entre elas, ademáis de un "parser" XML, módulo para elaborar CGIs sinxelos, extensão md5, luasocket, SDL...).

[I advice you to use LuaCheia (http://luacheia.sourceforge.net), a Lua 5 distribution that includes some of the libraries you mention (LuaCom, for example; and a XML parser, a simple CGI module, an md5 extension, luasocket, SDL... too).]

-ap

PS: perdoe polo meu português, eu son da Espanha :P, por iso tamen lhe escrevin en inglés. Pode considerar a posibilidade de escrever en inglés á lista de correo, para que máis gente poide-lhe contestar ás súas preguntas.

[PS: excuse my Portuguese, I'm from spain :P, that's why I wrote in English, too. You should consider writing to the mailing list in english, so more people can answer your questions.]