2010-05-31 12 views
26

मैंइंटरैक्टिव lua: आदेश पंक्ति तर्क

print (arg1, arg2, '\n') 

लुआ नहीं करता है ', कमांड लाइन

prog.lua अंदर, मैं कहना चाहता हूँ से

lua prog.lua arg1 arg2 

करना चाहते हैं उदाहरण के लिए प्रतीत होता है कि argv [1] आदि हैं और कमांड लाइन तर्कों से निपटने के लिए मैंने जो तरीकों को देखा है, वे अपरिपक्व और/या बोझिल लगते हैं। क्या मैं कुछ भूल रहा हूँ?

+1

: $lua prog.lua arg1 (स्क्रिप्ट फ़ोल्डर में चलाने) आप prong.lua उपयोग कर सकते हैं मैं उत्सुक हूं कि "अपरिपक्व/बोझिल" समाधान आपने इस तरह की [सीधी समस्या] (http://www.google.com/search?q=lua+command+line+arguments&btnI=1) को देखा है। – Miles

+2

http://lua-users.org/wiki/CommandLineModule एक अंतर्निहित argc, argv की तुलना में बोझिल लगता है; Getopt (सी:/प्रोग्राम फ़ाइलें/लुआ/5.1/डॉक्स/stdlib/getopt.html मेरी मशीन पर) इस पर लिखा है TODO है और विज्ञापित उदाहरण खाली है। तर्क के लिए मैनुअल के सूचक के लिए धन्यवाद। Google ने मेरे लिए यह नहीं किया कि यह आपके लिए क्या किया गया है, मैं इसे ढूंढने की कोशिश कर रहा हूं। यह (फिर) एक n00b होने के बारे में चीजों में से एक है - सबसे सरल बातें सिर्फ –

उत्तर

42

आप arg वेक्टर, आप किन तत्वों arg[1], arg[2], और इतने पर में चाहते हैं छूट रहा है: (! धन्यवाद मील)

% lua -i -- /dev/null one two three 
Lua 5.1.3 Copyright (C) 1994-2008 Lua.org, PUC-Rio 
> print(arg[2]) 
two 
> 

Lua manual section on Lua standalone में अधिक जानकारी।

+1

आप कर रहे हैं बिल्कुल सही, मैं कर रहा हूँ :-(काम करने के लिए नहीं लग रहे मैनुअल में ठिकाना वह यह है कि मैं नहीं मिल रहा हूँ!? । मेरे रास्ते यह दौर बहुत अच्छी तरह से एटीएम चीयर्स –

+2

http://www.lua.org/manual/5.1/manual.html#6 – Miles

+0

उत्तर के लिए धन्यवाद मैंने कोशिश की 'lua मैं - lua पर एक से दो three' 5.2.4 और 'कोई भी फाइल नहीं खोल सकता': ऐसी कोई फ़ाइल या निर्देशिका नहीं है। इससे मुझे लगता है कि मैन्युअल में 'dev/null' की आवश्यकता है (प्रति '[स्क्रिप्ट [args]]' '[script] [ तर्क] ') --- क्या मैं सही ढंग से समझ रहा हूं? यदि आप ऑब्जेक्ट नहीं करते हैं, तो मैं समझाने के लिए उत्तर अपडेट कर दूंगा। बहुत सराहना की! – cxw

23

arg तालिका के अलावा, ... तर्क होता है (आर्ग [1] और ऊपर) स्क्रिप्ट आह्वान करने के लिए इस्तेमाल किया।

 
% lua -i -- /dev/null one two three 
Lua 5.1.3 Copyright (C) 1994-2008 Lua.org, PUC-Rio 
> print(...) 
one  two  three 
5

लुआ एक तालिका में तर्क संग्रहीत करता है। यह तालिका "तर्क" तालिका है। तुम्हें पता है, आर्ग [1] आर्ग [2], ...

आर्ग [0] lua कार्यक्रम का नाम है का उपयोग कर के अंदर पारित कर दिया तर्क पहुँच सकते हैं। आर्ग [1] पहला तर्क पारित कर दिया है, आर्ग [2] दूसरा पारित कर दिया तर्क है और इतने पर ...

2

आप Freeswitch के सीएमडी में file.lua चलाते हैं

freeswitch> luarun prog.lua arg1 

आप prog उपयोग कर सकते हैं .lua:

#print(argv[1]) 

और चलाएँ:

#print(arg[1]) 
संबंधित मुद्दे