/ / मैं कमांड लाइन पैरामीटर कैसे पास / प्राप्त करूं - माणिक, पैरामीटर, जूते

मैं कमांड लाइन पैरामीटर कैसे पास / प्राप्त करूं? - रूबी, पैरामीटर, जूते

मैं जूते का उपयोग करने की कोशिश कर रहा हूं और मुझे इसे पारित करने की आवश्यकता हैकमांड-लाइन पैरामीटर्स (मूल रूप से, मेरे शूज़ ऐप को दूसरे प्री-मौजूदा ऐप से बुलाया जाएगा और इससे मुझे जूते के कुछ हिस्सों को प्री-फिल करना होगा) क्या मुझे तब बिन / जूते के रैपर का उपयोग करना चाहिए?

ऐसा लगता है कि मैं जूते के आवरण के लिए तर्क पारित नहीं कर सकता (यह सभी मापदंडों को समेटता है और परिणाम को स्क्रिप्ट पथ नाम के रूप में उपयोग करने की कोशिश करता है)। और मैं "ARGV सरणी तक पहुँचने में सक्षम प्रतीत हो सकता हूँ।

 Juraj.

उत्तर:

उत्तर № 1 के लिए 4

कोड नमूना

Shoes.app do
para "program: #{ARGV[0]}n"
para "arg1: #{ARGV[1]}n"
para "arg2: #{ARGV[2]}n"
end

रैपर से कॉल करने पर मेरे लिए काम करता है shoes.run। उदाहरण के लिए, अगर मैं दौड़ता हूं ./shoes.run test.app foo bar कमांड लाइन पर, यह प्रदर्शित करता है:

program: test.app
arg1: foo
arg2: bar

मेरे लिए। शायद आपका कॉन्फिडेंशियल बिहेवियर इस बात से संबंधित है कि आप शूज को कैसे बुला रहे हैं, न कि शूज के रैपर को ही?

साथ ही, अगर मैं दौड़ता हूं तो मेरे लिए वही काम करता है shoes सब कुछ अनपैक करने के बाद। इसके अलावा, आप चला सकते हैं

shoes test.app -- foo bar

यह सुनिश्चित करने के लिए कि एप्लिकेशन को निष्पादन योग्य जूते के बजाय तर्क मिले।