क्या मैं रूबी का उपयोग सब कुछ स्वचालित करने के लिए कर सकता हूं?


11

मुझे हर दिन काम करने के लिए विभिन्न प्लेटफार्मों (विंडोज, लिनक्स, आदि) पर विभिन्न प्रकार के अनुप्रयोगों (वेब-आधारित, जीयूआई-आधारित, कमांड-लाइन, आदि) का सामना करना पड़ता है। मेरे लिए स्क्रिप्टिंग द्वारा कार्यों को स्वचालित करने का एक बड़ा अवसर है। लेकिन लगभग हर प्रकार के एप्लिकेशन और प्लेटफ़ॉर्म की अपनी मूल स्क्रिप्टिंग भाषा या उपकरण होते हैं (जैसे कि VBScript और Windows के लिए PowerShell , लिनक्स के लिए बैश स्क्रिप्ट, वेब अनुप्रयोगों के लिए सेलेनियम , और GUI अनुप्रयोगों के लिए AutoIt , आदि)। यह मुझे स्क्रिप्टिंग भाषाओं को सीखने और बनाए रखने के लिए मारता है।

मुझे लगता है कि रूबी विभिन्न प्लेटफार्मों के साथ आसानी से हस्तक्षेप कर सकती है, और यह बहुत ही अभिव्यंजक है। तो मेरा सवाल है:

  1. सब कुछ स्क्रिप्ट के लिए रूबी का उपयोग करना संभव है?

  2. यदि यह है, तो प्रत्येक प्लेटफॉर्म की मूल स्क्रिप्टिंग भाषा की तुलना में मुख्य नुकसान क्या हैं ?

जवाबों:


6

रूबी लिनक्स, ओएस एक्स, आदि पर एक सामान्य प्रयोजन स्क्रिप्टिंग भाषा के लिए एक अच्छा विकल्प है, लेकिन मुझे हाल ही में कुछ स्क्रिप्ट लिखने की ज़रूरत है जो कि 2000 से विंडोज के हर संस्करण पर 7. के माध्यम से काम करेंगे। VBScript की कार्यक्षमता मेरे लिए आवश्यक नहीं थी ( उदाहरण के लिए SOAP वेब सेवाओं से बात करना) और PowerShell विंडोज 2000 के लिए उपलब्ध नहीं है, इसलिए मैंने Microsoft टूलकिट के बाहर देखा और रूबी को एक शॉट देने का फैसला किया (अतीत में लिनक्स पर इसका इस्तेमाल किया था)। मुझे निर्णय पर पछतावा नहीं है, लेकिन मुझे आश्चर्य है कि अगर कोई बेहतर विकल्प होता। विंडोज पर रूबी के बारे में मेरी मुख्य शिकायतें थीं:

  • विंडोज के लिए 64-बिट रूबी नहीं है (जहां तक ​​मुझे पता है) जिसने सिस्टम के वर्चुअलाइज्ड क्षेत्रों जैसे कि c: \ windows \ system32 को ड्रैग करने की कोशिश की। मैंने उस सामान में से कुछ के लिए वीबीएसस्क्रिप्ट को खोल दिया; शायद वहाँ एक बेहतर तरीका है जो मुझे समझ नहीं आया।
  • ये धीमा है। मेरे पास क्वाड-कोर CPU और 6GB RAM है और irb को लोड होने में 2+ सेकंड का समय लगता है।
  • हालांकि रजिस्ट्री एक्सेस और WMI जैसे सामान के लिए विंडोज-विशिष्ट पुस्तकालय हैं, चीजें निश्चित रूप से हमेशा उतनी आसान नहीं होती हैं जितना आपको लगता है कि वे हो सकते हैं और प्रलेखन की कमी के परिणामस्वरूप कुछ परीक्षण और त्रुटि होती है।

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


2

रूबी प्लेटफार्मों (विंडोज, लिनक्स, मैक) भर में पोर्टेबिलिटी के संबंध में अपनी आवश्यकताओं को पूरा करने के लिए लगता है, और विभिन्न प्रकार के अनुप्रयोगों को स्वचालित करने की क्षमता है। AFAIK आप रूबी पुस्तकालयों का उपयोग करके ब्राउज़रों और कमांड लाइन एप्लिकेशन को स्वचालित कर सकते हैं, लेकिन मुझे GUI आधारित टूल के बारे में निश्चित नहीं है (कुछ प्लेटफार्मों जैसे .NET में रूबी बाइंडिंग हैं जो इस संबंध में सहायक हो सकते हैं)।

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

यदि आप इसे बैट और शेल लिपियों के खिलाफ तुलना कर रहे हैं, तो रूबी का उपयोग लगभग किसी भी कार्य को करने के लिए किया जा सकता है जो ये स्क्रिप्ट कर सकते हैं। नुकसान हो सकता है:

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

रुकुली जीयूआई की कुछ चुनौतियों का सामना कर सकता है
1

0

मैं ऊपर दिए गए सभी उत्तरों से सहमत हूं लेकिन ध्यान रखें कि Windows और POSIX में प्लेटफ़ॉर्म विशिष्ट अंतर हैं, इसलिए यह गारंटी नहीं दे सकता कि यदि आप कुछ प्लेटफ़ॉर्म विशिष्ट सामान का उपयोग करते हैं तो आप अपनी स्क्रिप्ट का पुन: उपयोग कर सकते हैं।

रूबी सामान्य स्क्रिप्टिंग के लिए ठीक है लेकिन प्रदर्शन के लिए वास्तव में महान नहीं है। वैसे भी यह आपको स्क्रिप्ट के अंदर प्लेटफ़ॉर्म की पहचान करने और बाहरी कमांड और स्क्रिप्ट निष्पादित करने की अनुमति देता है।


1
आपको पता होना चाहिए कि StackExchange साइटों पर उत्तरों की स्थिति पर भरोसा नहीं किया जा सकता है, क्योंकि समान मात्रा में वोटों के उत्तर यादृच्छिक क्रम में डाले जाते हैं। तो अगर आप की तरह "मैं सभी जवाब से सहमत बातें नहीं कहना चाहिए ऊपर "
एडम हार्टे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.