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

शुरुआती के लिए व्यापक Ruby सिंटैक्स रेफरेंस - त्वरित समीक्षा और रिफ्रेश

यह एक Ruby सिंटैक्स रेफरेंस है।

Ruby सीखना आपके द्वारा याद रखी जाने वाली हर चीज़ के साथ भारी पड़ सकता है।

इसीलिए मैंने आपके लिए यह सिंटैक्स रेफरेंस एक साथ रखा है!

यह आपकी मेमोरी को रिफ्रेश करने और Ruby प्रोग्राम लिखने के लिए आपको जो जानने की आवश्यकता है उसे त्वरित रूप से समीक्षा करने में मदद करेगा।

मज़े करें!

सामग्री

  • 1 Strings (स्ट्रिंग्स)
  • 2 Hashes (हैश)
  • 3 Symbol (सिम्बल)
  • 4 Nil (निल)
  • 5 Array (एरे)
  • 6 Enumerable (एनुमरेबल)
  • 7 File (फाइल)
  • 8 Regular Expression (रेगुलर एक्सप्रेशन)
  • 9 Ruby Gems & Bundler
  • 10 Classes & Object-Oriented Programming (क्लासेस और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग)
  • 11 Types Of Variables (वेरिएबल्स के प्रकार)
  • 12 %w, %i, %q, %r, %x
  • 13 Use of Parenthesis (पैरेन्थिसिस का उपयोग)
  • 14 Examples (उदाहरण)
  • 15 Summary (सारांश)

Strings (स्ट्रिंग्स)

एक स्ट्रिंग दो कोटेशन मार्क्स ("") के अंदर कैरेक्टर्स का एक क्रम है। टेक्स्ट और डेटा को प्रतिनिधित्व करने के लिए उपयोग किया जाता है।

सिंटैक्स उदाहरण:

 "मुझे चॉकलेट पसंद है" 

दूसरा विकल्प सिंगल कोटेशन मार्क्स ('') का उपयोग करना है।

 'Ruby बहुत बढ़िया है' 

महत्वपूर्ण मेथड्स:

  • size
  • empty?
  • include?
  • gsub
  • split

अधिक मेथड्स:

https://www.rubyguides.com/2018/01/ruby-string-methods/

Hashes (हैश)

एक हैश ({}) एक की-वैल्यू पेयर (a => b) डेटा स्ट्रक्चर है। डिक्शनरी के रूप में उपयोग किया जाता है। आप उनकी कीज़ द्वारा हैश एलिमेंट्स तक पहुँच सकते हैं। कीज़ यूनिक होती हैं।

उदाहरण:

 # Create
h = { a: 1, b: 2, c: 3 }
# Access
h[:a]
# Set
h[:test] = 10 

ध्यान दें कि नए हैश {} सिंटैक्स (कर्ली ब्रैकेट्स) का उपयोग करके बनाए जाते हैं, लेकिन आप हमेशा [] (स्क्वायर ब्रैकेट्स) के साथ एक हैश एलिमेंट तक पहुँचते हैं।

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

स्ट्रिंग कीज़ के साथ हैश:

 h = { "a" => 1, "b" => 2, "c" => 3 } 

महत्वपूर्ण मेथड्स:

  • key?
  • fetch
  • new (डिफ़ॉल्ट वैल्यूज के लिए)
  • merge

अधिक मेथड्स:

https://www.rubyguides.com/2020/05/ruby-hash-methods/

Symbol (सिम्बल)

पहचान के लिए उपयोग की जाने वाली एक स्टैटिक स्ट्रिंग, एक सामान्य उदाहरण हैश कीज़ हैं। वे हमेशा एक कोलन (:bacon) से शुरू होते हैं। सिम्बल्स का उपयोग कभी भी उनकी सामग्री (व्यक्तिगत कैरेक्टर्स) के लिए नहीं किया जाता।

जब हैश ब्रैकेट्स ({}) के अंदर उपयोग किया जाता है तो कोलन का पक्ष उलट जाता है।

उदाहरण:

 { abc: 1 } 

यह सिम्बल :abc है।

और जानें:

https://www.rubyguides.com/2018/02/ruby-symbols/

Nil (निल)

एक सिंगलटन क्लास (केवल एक ऑब्जेक्ट अनुमत) जो एक डिफ़ॉल्ट या "नहीं मिला" प्रकार के मान को दर्शाता है।

एक कंडीशनल कॉन्टेक्स्ट में "false" मूल्यांकन करता है।

और जानें:

  • https://www.rubyguides.com/2018/01/ruby-nil/
  • https://www.rubyguides.com/2019/02/ruby-booleans/

Array (एरे)

ऑब्जेक्ट्स की एक सूची को प्रतिनिधित्व करने के लिए उपयोग किया जाने वाला एक ऑब्जेक्ट। एक एरे किसी भी प्रकार के ऑब्जेक्ट को समाहित कर सकता है (a = [1, "abc", []]), जिसमें अन्य एरे भी शामिल हैं।

आप उनके इंडेक्स (a[0]) के साथ एरे एलिमेंट्स तक पहुँचते हैं और नेस्टेड एरे के साथ a[0][0]।

उदाहरण:

 a = []
a << 10
a << 20
a << 30
a # [10, 20, 30] 

महत्वपूर्ण मेथड्स:

  • size
  • empty?
  • push / pop
  • join
  • flatten

अधिक मेथड्स:

https://ruby-doc.org/core-2.6.4/Array.html

Enumerable (एनुमरेबल)

एक Ruby मॉड्यूल जिसका उपयोग किसी भी क्लास के एलिमेंट्स पर पुनरावृति करने के लिए किया जाता है जो each मेथड को लागू करता है, जैसे Array, Range & Hash।

महत्वपूर्ण मेथड्स:

  • map
  • select
  • inject

अधिक:

Ruby Enumerable मॉड्यूल के लिए एक बेसिक गाइड (+ मेरा पसंदीदा मेथड)

File (फाइल)

एक क्लास जो आपको Ruby में फाइलों के साथ काम करने में मदद करती है। उन्हें पढ़ने से, उनमें लिखने तक, या उनके बारे में जानकारी प्राप्त करने तक, जैसे फाइल का आकार।

उदाहरण:

 File.read("/tmp/test.txt") 

महत्वपूर्ण मेथड्स:

  • read
  • write

अधिक:

https://www.rubyguides.com/2015/05/working-with-files-ruby/

Regular Expression (रेगुलर एक्सप्रेशन)

यदि आप पैटर्न, सबस्ट्रिंग्स, या एक स्ट्रिंग के अंदर कुछ विशिष्ट खोज रहे हैं, तो एक रेगुलर एक्सप्रेशन वही हो सकता है जिसकी आप तलाश कर रहे हैं।

इनका उपयोग ईमेल एड्रेस और फोन नंबर को मान्य करने के लिए किया जा सकता है। या टेक्स्ट से जानकारी निकालने के लिए।

उदाहरण:

 "aaaa1".match?(/[0-9]/) # true
"".match?(/[0-9]/) # false 

और जानें:

https://www.rubyguides.com/2015/06/ruby-regex/

Ruby Gems & Bundler

Ruby gems वे पैकेज हैं जिन्हें आप अपने Ruby प्रोग्राम्स में उपयोग करने के लिए डाउनलोड कर सकते हैं।

ये पैकेज आपको नए फंक्शन्स देते हैं।

उदाहरण के लिए, Rails में, आप Devise gem के साथ आसानी से ऑथेंटिकेशन जोड़ सकते हैं, या Kaminari gem के साथ पेजिनेशन।

और जानें:

https://www.rubyguides.com/2018/09/ruby-gems-gemfiles-bundler/

Classes & Object-Oriented Programming (क्लासेस और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग)

Ruby एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा है। हम हर चीज़ को एक ऑब्जेक्ट के रूप में सोचते हैं। ऑब्जेक्ट्स उनके ब्लूप्रिंट्स, क्लासेस से बनाए जाते हैं।

ऑब्जेक्ट्स चीज़ों को जान सकते हैं और चीज़ें कर सकते हैं। आप मेथड्स के साथ ऑब्जेक्ट्स को चीज़ें करने के लिए कहते हैं।

महत्वपूर्ण मेथड्स:

  • class
  • include / extend

और जानें:

  • https://www.rubyguides.com/2019/02/ruby-class/
  • https://www.youtube.com/watch?v=LuTTUNnSj6o&list=PL6Eq_d2HYExeKIi4d9rUEoD6qSiKS4vfe&index=2

Types Of Variables (वेरिएबल्स के प्रकार)

एक वेरिएबल एक ऑब्जेक्ट के लिए एक लेबल है जिसका उपयोग हम उस ऑब्जेक्ट तक पहुँचने के लिए कर सकते हैं। एक वेरिएबल को एक ऑब्जेक्ट के साथ जोड़ने की प्रक्रिया को "वेरिएबल असाइनमेंट" कहा जाता है।

उदाहरण:

 a = 1 

हम Ruby में विभिन्न प्रकार के वेरिएबल्स का उपयोग करते हैं।

यहाँ एक सूची है:

  • Local variables (something)
  • Instance variables (@something)
  • Constants (Something / SOMETHING)
  • Global variables ($something)

मुख्य अंतर यह है कि आप उन्हें किन स्थानों से एक्सेस कर सकते हैं।

%w, %i, %q, %r, %x

पर्सेंटेज सिंबल (%) के साथ एक विशेष प्रकार के सिंटैक्स का उपयोग करके ऑब्जेक्ट्स बनाने का एक तरीका है। यह एक शॉर्टकट है जो आपका काम बचा सकता है।

यदि आप Ruby में %w देखते हैं, तो अब आप जानेंगे कि इसका क्या मतलब है!

उदाहरण:

 array_of_strings = %w(apple orange coconut)
array_of_symbols = %i(a b c)
string = %q(things)
regular_expression = %r([0-9]) 
  • %w - स्ट्रिंग्स का एरे बनाएं
  • %i - सिम्बल्स का एरे बनाएं
  • %q - कोटेशन मार्क्स का उपयोग किए बिना स्ट्रिंग बनाएं

याद रखें कि पर्सेंटेज सिंबल (%) का उपयोग मॉड्यूलो मैथमेटिकल ऑपरेटर के रूप में भी किया जाता है।

Use of Parenthesis (पैरेन्थिसिस का उपयोग)

Ruby में पैरेन्थिसिस और सेमीकोलन्स आवश्यक नहीं हैं, लेकिन उनका उपयोग किया जा सकता है।

कुछ बुनियादी नियम:

  • कोई आर्गुमेंट्स के साथ एक मेथड को परिभाषित करते समय पैरेन्थिसिस का उपयोग न करें => def foo
  • मेथड आर्गुमेंट्स के साथ पैरेन्थिसिस का उपयोग करें => def foo(a, b, c)
  • जब आप किसी ऑपरेशन की प्रीसेडेंस या प्राथमिकता को बदलना चाहते हैं तो पैरेन्थिसिस का उपयोग करें => (a.size + b.size) * 2

रीडेबिलिटी पैरेन्थिसिस का एक उपयोग है जबकि ऑपरेशन के क्रम को बदलना दूसरा है।

Examples (उदाहरण)

सामान्य Ruby सिंटैक्स के उदाहरण।

Method definition (मेथड परिभाषा)

 def backup_database
  # method body
end 

मेथड्स के बारे में अधिक:

  • https://www.rubyguides.com/2018/06/rubys-method-arguments/
  • https://www.rubyguides.com/2019/06/ruby-method-definition/

Class definition (क्लास परिभाषा)

 class Fruit
  # methods
end 

क्लासेस के बारे में अधिक:

  • https://www.rubyguides.com/2019/02/ruby-class/
  • https://www.rubyguides.com/2019/01/what-is-inheritance-in-ruby/

Ternary operator (टर्नरी ऑपरेटर)

 true ? "yes" : "no" 

String interpolation (स्ट्रिंग इंटरपोलेशन)

 fruit = "orange"
puts "मेरे पास एक #{fruit} है। क्या आप इसका एक टुकड़ा चाहेंगे?" 

इंटरपोलेशन के बारे में अधिक:

  • https://www.rubyguides.com/2019/07/ruby-string-concatenation/

Each with block (ब्लॉक के साथ each)

 [1,2,3].each do |n|
  puts n
end 

If / Else

 n = 20
if n > 1
  puts "1 से बड़ा"
else
  puts "1 से छोटा"
end 

Case statement (केस स्टेटमेंट)

 case 20
when 1..20
  puts "1 और 20 के बीच"
when 21..40
  puts "21 और 40 के बीच"
else
  puts "एक वैध रेंज के भीतर नहीं"
end 

जहाँ 1..20 एक Range ऑब्जेक्ट है।

Summary (सारांश)

आपने Ruby सिंटैक्स की बुनियादी बातें सीखीं ताकि आप Ruby प्रोग्राम लिख सकें! इन्हें अक्सर रिव्यू करें जब तक कि यह आपके दिमाग में न बन जाए।

आप सिंटैक्स एलिमेंट्स के सामान्य नामों की इस सूची का भी आनंद ले सकते हैं।

पढ़ने के लिए धन्यवाद। 🙂


  1. Rack को समझना: Ruby वेब फ्रेमवर्क्स की रीढ़ Rack को समझना: Ruby वेब फ्रेमवर्क्स की रीढ़

    हर Rails, Sinatra, और अन्य Ruby वेब फ्रेमवर्क्स के पीछे क्या हो रहा है? उत्तर है Rack, वह प्रमुख घटक जो इसे संभव बनाता है। लेकिन Rack वास्तव में क्या है? Rack फ्रेमवर्क (Rails) और एप्लिकेशन सर्वर (Puma) के बीच एक परत है। यह वह गोंद है जो उन्हें संवाद करने की अनुमति देता है। हम Rack का उपयोग क्यों क

  1. रूबी NLP: अंतर्दृष्टिपूर्ण टेक्स्ट माइनिंग के लिए N-gram विश्लेषण में महारत रूबी NLP: अंतर्दृष्टिपूर्ण टेक्स्ट माइनिंग के लिए N-gram विश्लेषण में महारत

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

  1. ब्रॉडकास्ट रिसीवर्स मास्टर करें: नेटवर्क परिवर्तनों का पता लगाने के लिए एक शुरुआती गाइड ब्रॉडकास्ट रिसीवर्स मास्टर करें: नेटवर्क परिवर्तनों का पता लगाने के लिए एक शुरुआती गाइड

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