Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Ruby

रूबी के साथ कमांड-लाइन इंटरफेस बनाएं: चरण-दर-चरण गाइड

क्या आप कमांड लाइन इंटरफेस बनाने पर विचार कर रहे हैं? यह एक बेहतरीन प्रोजेक्ट आइडिया है! इस गाइड में, हम चर्चा करते हैं कि रूबी में कमांड लाइन इंटरफेस कैसे बनाया जाए।

शुरू करने से पहले, आपके कंप्यूटर पर रूबी इंस्टॉल होना चाहिए, और आपको एक टर्मिनल का उपयोग करना चाहिए जो यूनिक्स कमांड चलाने की अनुमति देता है। यदि आप लिनक्स या macOS-आधारित कंप्यूटर का उपयोग कर रहे हैं, तो आपके पास पहले से ही एक यूनिक्स-संगत टर्मिनल बिल्ट-इन होगा। एक बार जब आप इन आवश्यकताओं को पूरा कर लेते हैं, तो आप शुरू करने के लिए तैयार हैं!

कमांड लाइन इंटरफेस क्या हैं?

जैसे-जैसे आप अपने कोडिंग करियर में शुरुआत करते हैं, आप जल्द ही टर्मिनल के बारे में सीखते हैं। टर्मिनल विंडो आपको कमांड लाइन इंटरफेस (CLI) के साथ बातचीत करने की अनुमति देती है, जिनका उपयोग आप टेक्स्ट कमांड का उपयोग करके प्रोग्राम चलाने और उनके साथ बातचीत करने के लिए कर सकते हैं।

टर्मिनल विंडो का उपयोग करके, आप माउस या विजुअल एप्लिकेशन के बिना अपने कंप्यूटर को निर्देश दे सकते हैं। यह कोडिंग करते समय आपका समय बचाता है क्योंकि आप केवल निर्देश लिखने पर ध्यान केंद्रित कर सकते हैं। आपको हर टूल के लिए एक नया यूजर इंटरफेस सीखने की चिंता करने की ज़रूरत नहीं है!

अब तक आपने जिन CLIs के साथ बातचीत की है, वे संभवतः अन्य लोगों द्वारा विकसित किए गए हैं। उदाहरण के लिए, पायथन CLI आपको टर्मिनल से पायथन चलाने की अनुमति देता है, जबकि रूबी CLI आपको रूबी एप्लिकेशन के साथ भी ऐसा ही करने देता है। सौभाग्य से, आप अपना खुद का भी बना सकते हैं!

शुरू करने के लिए, अपनी मशीन पर एक टर्मिनल विंडो खोलें। फिर, अपने कोड के लिए एक फ़ोल्डर बनाने के लिए mkdir कमांड का उपयोग करें। इस कमांड का एक उदाहरण यहां दिया गया है:

यह कमांड हमारे कंप्यूटर पर "ruby-cli" नामक एक फ़ोल्डर बनाता है। अब हम इस फ़ोल्डर में जाने और अपना CLI बनाने के लिए cd का उपयोग कर सकते हैं:

बहुत बढ़िया! अब हम अपने नए "ruby-cli" फ़ोल्डर में हैं। इस लेख के लिए हमें बस इतना ही सेटअप करना है - अगला कदम हमारे कमांड लाइन इंटरफेस को लिखना शुरू करना है।

हम अपने कमांड लाइन इंटरफेस में जो पहली सुविधा जोड़ने जा रहे हैं वह है हमारे टर्मिनल पर "This is an example CLI" शब्द प्रिंट करना। हम "home.rb" नामक एक नई फ़ाइल बनाकर और उसमें कोड डालकर ऐसा कर सकते हैं।

एक नई फ़ाइल बनाने के लिए, हम निम्न कमांड का उपयोग कर सकते हैं:

यह एक nano टेक्स्ट एडिटर खोलेगा जहां हम अपने प्रोग्राम के लिए कोड डाल सकते हैं। यदि आप चाहें तो आप vim या emacs जैसे एक अलग टेक्स्ट एडिटर का उपयोग कर सकते हैं।

अपने nano टेक्स्ट एडिटर में, हम निम्न कोड पेस्ट करते हैं:

#!/usr/bin/env ruby
puts "This is an example CLI"

अब, मैक पर Control-X दबाकर, Y और फिर Enter दबाकर सेव करें। यह हमारे "ruby-cli" फ़ोल्डर में "home.rb" नामक एक नई फ़ाइल बनाता है।

हमारे कोड में, पहली लाइन कंप्यूटर को हमारे कोड को चलाने के लिए रूबी इंटरप्रेटर का उपयोग करने के लिए कहती है। यह सुनिश्चित करता है कि हमारा कोड रूबी में चलाया जाता है। दूसरी लाइन हमारे प्रोग्राम को कंसोल पर "This is an example CLI" प्रिंट करने का निर्देश देती है।

अब, हम ruby कमांड का उपयोग करके अपनी फ़ाइल चला सकते हैं:

हमारा कोड लौटाता है:

जैसा कि आप देख सकते हैं, हमने अभी एक सरल CLI बनाया है। जब हम अपनी "home.rb" फ़ाइल चलाते हैं, तो 'This is an example CLI' शब्द कंसोल पर प्रिंट होता है।

फ्लैग्स का उपयोग करके उपयोगकर्ता इनपुट स्वीकार करना

हमारा CLI अभी काफी सरल है - यह केवल कंसोल पर एक संदेश प्रिंट करता है। क्या होगा यदि आप उपयोगकर्ता इनपुट स्वीकार करना चाहते हैं? हम optparse लाइब्रेरी का उपयोग करके ऐसा कर सकते हैं। यह हमें कमांड लाइन से प्रदान किए गए विकल्पों को पार्स करने की अनुमति देता है जिनका उपयोग हमारे प्रोग्राम में किया जा सकता है।

हम optparse लाइब्रेरी का उपयोग कुछ कारणों से कर रहे हैं। पहला, optparse लाइब्रेरी हमें प्रत्येक कमांड के लिए एक हेल्प मेनू जनरेट करने की अनुमति देती है। दूसरा, optparse रूबी में बिल्ट-इन है, इसलिए आपको कुछ भी इंस्टॉल करने की आवश्यकता नहीं है।

आइए एक ऐसी सुविधा जोड़ें जो उपयोगकर्ता के ईमेल एड्रेस को इनपुट के रूप में स्वीकार करे और फिर उसे कंसोल पर वापस लौटाए।

"home.rb" फ़ाइल को अपने टेक्स्ट एडिटर में खोलें और इसकी सामग्री को इस कोड से बदलें:

#!/usr/bin/env ruby
require 'optparse'
options = {}
OptionParser.new do |op|
  op.on("-e", "--email", "Your email address") do |value|
    options[:name] = value
  end
end.parse!
puts 'Your email address is: ' + options[:name]

इस कोड में, हम कमांड के माध्यम से भेजे गए डेटा को पार्स करने के लिए optparse लाइब्रेरी का उपयोग करते हैं। फिर हम उपयोगकर्ता द्वारा निर्दिष्ट मान को एक वेरिएबल में असाइन करते हैं, और उसे कंसोल पर प्रिंट करते हैं। इस मामले में, हम "Your email address is: " प्रिंट करते हैं, जिसके बाद उपयोगकर्ता द्वारा निर्दिष्ट ईमेल होता है।

हम अपने कोड को आजमाने के लिए इस कमांड का उपयोग कर सकते हैं:

ruby home.rb -e jack@jones.com

हमारा कोड लौटाता है:

Your email address is: jack@jones.com

optparse लाइब्रेरी के बारे में अच्छी बात यह है कि यह स्वचालित रूप से एक हेल्प मेनू जनरेट करती है। हम निम्न कोड का उपयोग करके इस हेल्प मेनू को देख सकते हैं:

हमारा कोड लौटाता है:

Usage: ruby [options] -e, --email Your email address

जब आप अपनी कमांड चला रहे होते हैं, तो आप या तो -e या --email फ्लैग का उपयोग कर सकते हैं।

अपने प्रोग्राम में उपयोगकर्ता इनपुट स्वीकार करना

पिछले उदाहरण में, हमने फ्लैग्स का उपयोग करके उपयोगकर्ता इनपुट स्वीकार किया। हालांकि, फ्लैग्स अव्यावहारिक हो सकते हैं यदि आप कई जानकारी स्वीकार करना चाहते हैं।

रूबी में CLI बनाने की खूबी यह है कि कोई भी रूबी प्रोग्राम CLI बन सकता है। इसलिए, आपको शुरू करने के लिए किसी नए कन्वेंशन को सीखने की आवश्यकता नहीं है।

मान लीजिए हम एक ऐसा एप्लिकेशन बनाना चाहते हैं जो उपयोगकर्ता का नाम और ईमेल प्राप्त करे, और जांच करे कि वे 16 वर्ष से अधिक उम्र के हैं या नहीं।

आइए अपने nano टेक्स्ट एडिटर में प्रवेश करने के लिए निम्न कमांड चलाकर शुरू करें:

अपनी नव-निर्मित फ़ाइल में, निम्न कोड पेस्ट करें:

puts "What is your name?"
name = gets
puts "What is your age?"
age = gets
if age.to_i >= 16
  puts "#{name}! You are 16 or older!"
else
  puts "#{name}! You are not over the age of 16!"
end

अपनी फ़ाइल सेव करने के बाद, आप इस कमांड का उपयोग करके अपना नया CLI चला सकते हैं:

हमारा कोड लौटाता है:

What is your name? James
What is your age? 17
James! You are 16 or older!

यदि हम "What is your age?" प्रश्न के उत्तर में "14" मान डालते हैं, तो निम्न लौटाया जाता है:

James! You are not over the age of 16.

आप अपने CLI में कोई भी रूबी कोड लिख सकते हैं। एकमात्र सीमा आपकी कल्पना है।

निष्कर्ष

एक CLI आपको टर्मिनल का उपयोग करके किसी प्रोग्राम के साथ बातचीत करने की अनुमति देता है। यह किसी प्रोग्राम के लिए यूजर इंटरफेस का एक विकल्प है (जैसे जो आप टेक्स्ट एडिटर जैसे Atom या Notepad खोलते समय देखते हैं)।

इस गाइड में, हमने आपको दिखाया है कि रूबी का उपयोग करके एक सरल CLI कैसे बनाया जाए। अब आप एक रूबी विशेषज्ञ की तरह अपने स्वयं के CLIs बनाना शुरू करने के लिए तैयार हैं!

  1. Android में ArrayBlockingQueue की शेष क्षमता कैसे पता करें? Android में ArrayBlockingQueue की शेष क्षमता कैसे पता करें?

    ArrayBlockingQueue में remainingCapacity() मेथड remainingCapacity() क्यू में और कितने एलिमेंट्स जोड़े जा सकते हैं, यह बताता है: क्षमता - वर्तमान_आकार। चरण 1: प्रोजेक्ट सेटअप Android Studio: File → New Project। चरण 2: लेआउट (activity_main.xml) <?xml version=1.0 encoding=utf-8?> <LinearLayo

  1. HTML DOM emphasized ऑब्जेक्ट HTML DOM emphasized ऑब्जेक्ट

    HTML DOM emphasized ऑब्जेक्ट HTML <em> तत्व से जुड़ा होता है। <em> तत्व का उपयोग कुछ टेक्स्ट पर जोर देने के लिए किया जाता है और यह उस टेक्स्ट को इटैलिक में चिह्नित करता है। आप createElement() या getElementById() मेथड का उपयोग करके क्रमशः emphasized ऑब्जेक्ट बना और एक्सेस कर सकते हैं। सि

  1. <button> बनाम <input type="button" /> में क्या अंतर है? <button> बनाम <input type="button" /> में क्या अंतर है?

    HTML में, <input type="button" /> का उपयोग HTML फॉर्म में बटन बनाने के लिए किया जाता है। <button> टैग के अंदर, आप टेक्स्ट या इमेज जैसी सामग्री रख सकते हैं। लेकिन, <input> टैग से बने बटनों के साथ ऐसा नहीं है।HTML <button> टैगयह HTML फॉर्म के भीतर एक बटन बनाने के लिए