2009-08-06 10 views
10

मैक ओएस एक्स पर प्रोग्राम लुआ स्क्रिप्ट के लिए मैं क्या उपयोग कर सकता हूं? मैं कुछ ऐसा ढूंढ रहा हूं जिसका उपयोग मैं ओएस एक्स पर लूआ स्क्रिप्ट को संकलित/व्याख्या करने के लिए कर सकता हूं।ओएस एक्स पर लुआ में प्रोग्रामिंग?

उत्तर

12

लुआ स्रोत आसानी से मैक पर कोई बदलाव नहीं करता है। यह लुआ (दुभाषिया जो एक स्रोत स्क्रिप्ट, एक पूर्व-संकलित स्क्रिप्ट या इंटरैक्टिव रूप से कार्य कर सकता है) का निर्माण करेगा और लुकाक जिसका उपयोग स्रोत स्क्रिप्ट को पूर्व-संकलित करने के लिए किया जा सकता है।

lua.org वेबसाइट से: http://luabinaries.luaforge.net/download.html। जो आप चाहते हैं वे डार्विन बाइनरी हैं (वे वर्णन में मैक ओएस एक्स कहते हैं)।

+0

मुझे नहीं लगता कि मैं स्पष्ट था, मैं कुछ ऐसा ढूंढ रहा हूं जिसका उपयोग मैं मैक पर लुआ लिपि को संकलित/व्याख्या करने के लिए कर सकता हूं। मैं अपना प्रश्न संपादित करूंगा। – RCIX

+3

हां, आप स्पष्ट थे, बिल्कुल: मानक लुआ स्रोत यह करता है। बस इसे डाउनलोड करें और बनाएं या (मुझे यकीन है) आप कहीं भी लुआ और लुआक प्रीबिल्ट ढूंढ सकते हैं। –

+0

एचएम आईडी कुछ ऐसा नहीं बना रहा है क्योंकि मुझे शुरू करने के लिए पहली सुराग है, मुझे लगता है कि Google से बीमार चाबुक ... – RCIX

7

मेरा पसंदीदा तरीका (शेल से):

sudo port install lua 

मैं macports पसंद!

+0

इसके लिए, आपको मैकपॉर्ट्स इंस्टॉल करना होगा। सौभाग्य से, यह आसान है: http://www.macports.org/install.php – adrian

+0

इसे आज़माएं और उम्मीद है कि यह काम करता है ... – RCIX

+0

जब मैं इसे चलाता हूं तो यह कुछ भी नहीं करता है, और मेरे पास xcode + macports इंस्टॉल है। – RCIX

5

यहां मेरा टर्मिनल सत्र स्रोत से लुआ को संकलित और स्थापित करने से है, मूल रूप से these directions का पालन करता है। मेरे पास पहले से ही ऐप्पल के डेवलपर टूल्स इंस्टॉल हैं, और/usr/local/bin पहले से ही मेरे पैथ में था, इसलिए मैं दिशाओं में कुछ अधिक समय लेने वाली और/या कठिन कदमों को छोड़ने में सक्षम था।

$ 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 -एक मैक के लिए precompiled यूनिक्स सॉफ्टवेयर के संग्रह को बनाए रखा।

जबकि मुझे यकीन है कि आप पहले से ही लुआ को स्थापित करने का एक तरीका समझ चुके हैं, मैं एक ही चीज को गुगल करके अपने प्रश्न में आया हूं। किसी को भी दिलचस्पी रखता है, here's the link to a recent Lua 5.1.4 dmg.

+0

रुडिक्स के बारे में, आप मैक ओएस एक्स पर रनिंग लुआ पर अधिक जानकारी प्राप्त कर सकते हैं: 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

आप अपने खुद के लुआ बाइनरी संकलित करने के लिए नहीं करना चाहते हैं, तो आप ZeroBrane Studio Lua IDE है, जो एक के रूप में पैक आता है की कोशिश कर सकते हैं। ओएसएक्स के लिए डीएमजी फ़ाइल। यह एक आईडीई है जो आपको अपनी लुआ स्क्रिप्ट संपादित और डिबग करने की अनुमति देता है। यदि आप लूआ से शुरू कर रहे हैं, तो इसमें 50+ उदाहरण और डेमो स्क्रिप्ट्स भी शामिल हैं, साथ ही उन्हें चलाने पर एकीकृत निर्देश भी शामिल हैं, इसलिए आपको एक खाली स्क्रीन का सामना नहीं करना पड़ेगा, यह नहीं जानना कि कहां से शुरू करना है।