2011-06-04 15 views
14

To brzmi jak dziwne pytanie, więc wytłumaczę okoliczne okoliczności.Jak osadzić Lua w Pythonie?

Zasadniczo mam zestaw do tworzenia gier 3D napisany w języku Python, który działa doskonale sam. Jednak większość moich użytkowników będzie przyzwyczajona do używania Lua jako języka skryptowego, więc zacząłem patrzeć na powiązania Lua-Python.

Usiadłem z niesamowitą biblioteką Stefana Behnela Lupa. Jednak w zasadzie wymaga to od użytkowników końcowych wiedzy o tym, jak kompilować aplikacje, co jest niedopuszczalne w przypadku mojego GDK. Zwykle mam dostęp tylko do systemu Linux, a ponieważ mój zestaw do tworzenia gier działa w systemach Windows i Mac OS X, pliki binarne systemu Windows zawsze pozostają w tyle, a moi użytkownicy OSX muszą samodzielnie skompilować mój GDK.

Czy ktoś wie o innej możliwości? Dziękuję Ci!

P.S: Próbowałem już Lunatic Python, a Lux jest zbyt przestarzały.

+0

Tak, moje pierwsze pytanie :). Od lat "czaiam się" wokół StackOverflow, choć ... – DangerOnTheRanger

+0

Czy lubisz pisać kompilatory? –

+0

Właściwie, pisząc mój własny interpreter czystego Pythona Lua, jest moim powrotem. Chociaż, jeśli nie pojawią się żadne alternatywy dla Lupy, mogę po prostu trzymać się Lupy. – DangerOnTheRanger

Odpowiedz

4

powinieneś zajrzeć do lunatic-python jest to dwukierunkowy most między pytonem a lua.

przykładem off miejscu pokazuje jak naturalnie i łatwo:

>>> import lua 
>>> lg = lua.globals() 
>>> lg.string 
<Lua table at 0x81c6a10> 
>>> lg.string.lower 
<Lua function at 0x81c6b30> 
>>> lg.string.lower("Hello world!") 
'hello world!' 
+2

Jak już powiedziałem w moim pytaniu, już wypróbowałem Lunatic Python, a głównym problemem jest to, że jest bardzo monol ithic: Wiele skryptów pośrednio udostępnia globale, jeśli działają one tylko z 'lua.run'. Z tego powodu wybrałem Lupa; może istnieć wiele instancji interpretera Lua. – DangerOnTheRanger