2009-08-06 23 views
10

Cosa posso usare per programmare lo script Lua su Mac OS X? Sto cercando qualcosa che posso usare per compilare/interpretare lo script Lua su OS X.Programmazione in Lua su OS X?

risposta

12

Il sorgente Lua si compila facilmente senza modifiche sul mac. Costruirà lua (l'interprete che può agire su uno script sorgente, uno script pre-compilato o interattivo) e luac che può essere usato per precompilare gli script di origine.

dal sito Web lua.org: http://luabinaries.luaforge.net/download.html. Quelli che vuoi sono i binari di Darwin (si dice Mac OS X nella descrizione).

+0

Non penso di essere stato chiaro, sto cercando qualcosa che posso usare per compilare/interpretare lo script lua sul mac. Modificherò la mia domanda. – RCIX

+3

Sì, eri chiaro, esattamente: la sorgente Lua standard lo fa. Basta scaricarlo e costruirlo o (sono sicuro) puoi trovare lua e luac precostruiti da qualche parte. –

+0

Hm id piuttosto non costruire qualcosa come non ho il primo indizio da cui partire, suppongo che stia scappando google ... – RCIX

7

Il mio modo preferito (dalla shell):

sudo port install lua 

AMO macports!

+0

Per questo, ovviamente, è necessario installare MacPorts. Fortunatamente, è facile: http://www.macports.org/install.php – adrian

+0

Provare questo e spero che funzioni ... – RCIX

+0

quando lo eseguo non fa nulla, e ho installato xcode + macports. – RCIX

5

Ecco la mia sessione terminale dalla compilazione e dall'installazione di Lua dal codice sorgente, in pratica seguendo these directions. Ho già installato gli Strumenti per gli sviluppatori di Apple e/usr/local/bin era già nel mio PERCORSO, quindi sono stato in grado di saltare alcuni dei passi più lunghi e/o noiosi nelle direzioni.

$ cd ~/Downloads 

$ tar -xf lua-5.1.4.tar 

$ cd lua-5.1.4 

$ make macosx  
cd src && make macosx 
make all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-lreadline" 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lapi.o lapi.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lcode.o lcode.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o ldebug.o ldebug.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o ldo.o ldo.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o ldump.o ldump.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lfunc.o lfunc.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lgc.o lgc.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o llex.o llex.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lmem.o lmem.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lobject.o lobject.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lopcodes.o lopcodes.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lparser.o lparser.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lstate.o lstate.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lstring.o lstring.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o ltable.o ltable.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o ltm.o ltm.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lundump.o lundump.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lvm.o lvm.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lzio.o lzio.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lauxlib.o lauxlib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lbaselib.o lbaselib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o ldblib.o ldblib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o liolib.o liolib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lmathlib.o lmathlib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o loslib.o loslib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o ltablib.o ltablib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lstrlib.o lstrlib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o loadlib.o loadlib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o linit.o linit.c 
ar rcu liblua.a lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o 
ranlib liblua.a 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lua.o lua.c 
gcc -o lua lua.o liblua.a -lm -lreadline 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o luac.o luac.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o print.o print.c 
gcc -o luac luac.o print.o liblua.a -lm -lreadline 

$ make test 
src/lua test/hello.lua 
Hello world, from Lua 5.1! 

$ sudo make install INSTALL_TOP=/usr/local 
Password: 
cd src && mkdir -p /usr/local/bin /usr/local/include /usr/local/lib /usr/local/man/man1 /usr/local/share/lua/5.1 /usr/local/lib/lua/5.1 
cd src && install -p -m 0755 lua luac /usr/local/bin 
cd src && install -p -m 0644 lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp /usr/local/include 
cd src && install -p -m 0644 liblua.a /usr/local/lib 
cd doc && install -p -m 0644 lua.1 luac.1 /usr/local/man/man1 

$ lua 
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio 
> print "Hi" 
Hi 
> = 2 + 3 
5 
> ^c 

$ cd test 

$ lua factorial.lua 
0! = 1 
1! = 1 
2! = 2 
3! = 6 
4! = 24 
5! = 120 
6! = 720 
7! = 5040 
8! = 40320 
9! = 362880 
10! = 3628800 
11! = 39916800 
12! = 479001600 
13! = 6227020800 
14! = 87178291200 
15! = 1307674368000 
16! = 20922789888000 
+0

Grazie! quella linea INSTALL_TOP ha fatto per me. Perché è necessario qui? – Pueggel

1

Sono recentemente trovato Rudix -a mantenuto raccolta di software precompilato Unix per Mac.

Mentre sono sicuro che hai già trovato un modo per installare Lua, ho trovato la tua domanda su Google con la stessa cosa. Per chiunque che sia interessato, here's the link to a recent Lua 5.1.4 dmg.

+0

Per quanto riguarda Rudix, è possibile ottenere maggiori informazioni su Running Lua su Mac OS X qui: http://rudamoura.com/luaonmacosx.html – mohsinj

17

mio modo preferito:

brew install lua 

Grazie, Max!

E se avete bisogno di sapere come installare Homebrew, vedi http://mxcl.github.com/homebrew/ e:

/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)" 
2

Se non si desidera compilare i propri binari Lua, si può provare ZeroBrane Studio Lua IDE, che viene confezionato come una. file dmg per OSX. È un IDE che ti consente di modificare e eseguire il debug dei tuoi script Lua. Se stai iniziando solo con Lua, include anche oltre 50 esempi e script dimostrativi, oltre a istruzioni integrate per eseguirli, in modo da non essere di fronte a uno schermo vuoto senza sapere da dove iniziare.