2009-08-06 1 views
10

Что я могу использовать для программирования сценария Lua в Mac OS X? Я ищу что-то, что я могу использовать для компиляции/интерпретации сценария Lua на OS X.Программирование в Lua на OS X?

ответ

12

Источник Lua легко компилируется без изменений на Mac. Он будет строить lua (интерпретатор, который может действовать на исходный скрипт, предварительно скомпилированный скрипт или интерактивно) и luac, который может использоваться для предварительной компиляции исходных скриптов.

С lua.org сайт: http://luabinaries.luaforge.net/download.html. Те, которые вы хотите, это двоичные файлы darwin (они говорят, что Mac OS X в описании).

+0

Я не думаю, что я был чист, я ищу что-то, что я могу использовать для компиляции/интерпретации сценария lua на Mac. Я отредактирую свой вопрос. – RCIX

+3

Да, вы поняли, что именно: стандартный источник Lua делает это. Просто скачайте и постройте его или (я уверен) вы можете найти lua и luac, предварительно созданный где-то. –

+0

Hm id скорее не строит что-то, так как у меня нет первой подсказки, с которой начать, я думаю, что плохо взбиваю google ... – RCIX

7

Мой любимый способ (из оболочки):

sudo port install lua 

Я ЛЮБЛЮ MacPorts!

+0

Для этого, конечно же, вам потребуется установить MacPorts. К счастью, это легко: http://www.macports.org/install.php – adrian

+0

Постарайтесь попробовать это и надеемся, что это сработает ... – RCIX

+0

когда я его запускаю, он ничего не делает, и у меня установлен xcode + macports. – RCIX

5

Вот мой сеанс терминала от компиляции и установки Lua из исходного кода, в основном следуя these directions. У меня уже установлены инструменты разработчика Apple, и/usr/local/bin уже в моем PATH, поэтому я смог пропустить некоторые из более трудоемких и/или утомительных шагов в направлениях.

$ 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

Спасибо! что строка INSTALL_TOP сделала это для меня. Зачем это нужно здесь? – Pueggel

1

Я только недавно нашел Rudix -a сохранить коллекцию скомпилированного программного обеспечения Unix для Mac.

Хотя я уверен, что вы уже выяснили способ установки Lua, я наткнулся на ваш вопрос по Googling то же самое. Для тех, кто заинтересован, что это, here's the link to a recent Lua 5.1.4 dmg.

+0

Что касается Rudix, вы можете получить дополнительную информацию о Running Lua на Mac OS X здесь: http://rudamoura.com/luaonmacosx.html – mohsinj

17

Мой предпочтительный путь:

brew install lua 

Спасибо, Макс!

И если вам нужно знать, как установить Homebrew см http://mxcl.github.com/homebrew/ и:

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

Если вы не хотите компилировать свои собственные исполняемые файлы Lua, вы можете попробовать ZeroBrane Studio Lua IDE, который поставляется в комплекте, как. dmg для OSX. Это IDE, позволяющая редактировать и отлаживать ваши сценарии Lua. Если вы только начинаете с Lua, он также включает в себя более 50 примеров и демонстрационных скриптов, а также встроенные инструкции по их запуску, чтобы вы не столкнулись с пустым экраном, не зная, с чего начать.