रूबी में कमांड-लाइन तर्क के लिए त्वरित गाइड

अनेक माणिक स्क्रिप्ट में कोई टेक्स्ट नहीं है या चित्रमय इंटरफेस. वे बस चलाते हैं, अपना काम करते हैं और फिर बाहर निकलते हैं। अपने व्यवहार को बदलने के लिए इन लिपियों के साथ संवाद करने के लिए, कमांड-लाइन तर्कों का उपयोग किया जाना चाहिए।

कमांड लाइन UNIX कमांड के लिए ऑपरेशन का मानक मोड है, और चूंकि रूबी का व्यापक रूप से उपयोग किया जाता है UNIX और UNIX- जैसी प्रणालियाँ (जैसे कि Linux और macOS), इस प्रकार का सामना करने के लिए काफी मानक हैं कार्यक्रम।

कमांड-लाइन तर्क कैसे प्रदान करें

रूबी लिपि तर्क रूबी कार्यक्रम को शेल द्वारा पारित किया जाता है, वह प्रोग्राम जो टर्मिनल पर कमांड (जैसे बैश) को स्वीकार करता है।

कमांड-लाइन पर, स्क्रिप्ट के नाम के बाद किसी भी पाठ को कमांड-लाइन तर्क माना जाता है। रिक्त स्थान से अलग, प्रत्येक शब्द या स्ट्रिंग को रूबी कार्यक्रम के लिए एक अलग तर्क के रूप में पारित किया जाएगा।

निम्न उदाहरण लॉन्च करने के लिए उपयोग करने के लिए उचित सिंटैक्स दिखाता है test.rb तर्कों के साथ एक कमांड-लाइन से रूबी स्क्रिप्ट test1 तथा test2.

$ ./test.rb test1 test2

आप एक ऐसी स्थिति का सामना कर सकते हैं जिसमें आपको रूबी कार्यक्रम के लिए एक तर्क पारित करने की आवश्यकता होती है, लेकिन कमांड में एक स्थान होता है। यह पहली बार में असंभव लगता है क्योंकि शेल रिक्त स्थान पर तर्क को अलग करता है, लेकिन इसके लिए एक प्रावधान है।

instagram viewer

दोहरे उद्धरण चिह्नों में किसी भी तर्क को अलग नहीं किया जाएगा। रूबी प्रोग्राम को पास करने से पहले शेल द्वारा दोहरे उद्धरण हटा दिए जाते हैं।

निम्न उदाहरण एकल तर्क पास करता है test.rb रूबी लिपि, test1 test2:

$ ./test.rb "test1 test2"

कमांड-लाइन तर्क का उपयोग कैसे करें

अपने रूबी कार्यक्रमों में, आप शेल के साथ पारित किसी भी कमांड-लाइन तर्कों को एक्सेस कर सकते हैं ARGV विशेष चर। ARGV एक ऐरे वेरिएबल है, जो स्ट्रिंग्स के रूप में, प्रत्येक तर्क शेल द्वारा पास किया जाता है।

यह कार्यक्रम इससे अधिक पुनरावृत्त करता है ARGVसरणी और इसकी सामग्री प्रिंट करता है:

#! / usr / bin / env माणिक। ARGV.each करते हैं | ए | "तर्क: # {a}" डालता है समाप्त

निम्नलिखित इस स्क्रिप्ट को लॉन्च करने वाले बैश सत्र का एक अंश है (फ़ाइल के रूप में सहेजा गया) test.rb) विभिन्न प्रकार के तर्कों के साथ:

$ ./test.rb test1 test2 "तीन चार" तर्क: test1 तर्क: test2 तर्क: तीन चार
instagram story viewer