Ruby Fundamentals

रूबी में शून्य, रिक्त और खाली: एक व्यापक मार्गदर्शिका

Spread the love

Ruby में nil, खाली ऑब्जेक्ट्स और रिक्त ऑब्जेक्ट्स की बारीकियों को समझना, मज़बूत और त्रुटि-मुक्त कोड लिखने के लिए बेहद ज़रूरी है। यह गाइड इन अवधारणाओं के बीच के अंतर को स्पष्ट करती है।

विषय-सूची

  1. Ruby में nil क्या है?
  2. Ruby में खाली ऑब्जेक्ट्स क्या हैं?
  3. Ruby में रिक्त ऑब्जेक्ट्स क्या हैं?
  4. सारांश
  5. अक्सर पूछे जाने वाले प्रश्न

Ruby में nil क्या है?

Ruby में, nil किसी मान की पूर्ण अनुपस्थिति को दर्शाता है। यह एक विशेष ऑब्जेक्ट है जो दर्शाता है कि किसी चर या विधि में कोई डेटा नहीं है। यह एक शून्य मान या रिक्त स्थान के समान है। nil अक्सर उन विधियों द्वारा लौटाया जाता है जिनमें कोई स्पष्ट रिटर्न स्टेटमेंट नहीं होता है या जब कोई चर अनइनिशियलाइज़्ड होता है।


my_variable = nil  # स्पष्ट रूप से nil असाइन करना
puts my_variable   # आउटपुट: nil

def my_method
  # कोई स्पष्ट रिटर्न स्टेटमेंट नहीं
end

puts my_method     # आउटपुट: nil

बूलियन संदर्भों में nil को “फाल्सी” माना जाता है; यह सशर्त कथनों में false के रूप में मूल्यांकन करता है।


if my_variable
  puts "यह प्रिंट नहीं होगा"
else
  puts "यह प्रिंट होगा" # आउटपुट: यह प्रिंट होगा
end

Ruby में खाली ऑब्जेक्ट्स क्या हैं?

एक खाली ऑब्जेक्ट एक ऐसा ऑब्जेक्ट है जो मौजूद है लेकिन इसमें कोई तत्व या डेटा नहीं है। “खाली” की परिभाषा प्रकार-निर्भर है:

  • खाली ऐरे: []
  • खाली हैश: {}
  • खाली स्ट्रिंग: ""

खाली ऑब्जेक्ट्स nil से अलग हैं। nil किसी ऑब्जेक्ट की अनुपस्थिति को दर्शाता है, जबकि एक खाली ऑब्जेक्ट मौजूद है लेकिन इसमें सामग्री का अभाव है।


empty_array = []
empty_hash = {}
empty_string = ""

puts empty_array.empty?   # आउटपुट: true
puts empty_hash.empty?   # आउटपुट: true
puts empty_string.empty? # आउटपुट: true

puts empty_array.nil?    # आउटपुट: false
puts empty_hash.nil?    # आउटपुट: false
puts empty_string.nil?   # आउटपुट: false

Ruby में रिक्त ऑब्जेक्ट्स क्या हैं?

“रिक्त” कोई अंतर्निहित Ruby सुविधा नहीं है। यह एक परंपरा है, जिसे अक्सर Rails जैसे ढाँचों में उपयोग किया जाता है, किसी विशेष उद्देश्य के लिए खाली या महत्वहीन माने जाने वाले ऑब्जेक्ट्स का प्रतिनिधित्व करने के लिए। एक रिक्त ऑब्जेक्ट आमतौर पर या तो nil या एक खाली ऑब्जेक्ट होता है। blank? विधि (अक्सर एक कस्टम एक्सटेंशन) एक सुविधाजनक जांच प्रदान करती है:


class String
  def blank?
    self.nil? || self.empty?
  end
end

class Array
  def blank?
    self.nil? || self.empty?
  end
end

#उदाहरण उपयोग:
string1 = "hello"
string2 = ""
string3 = nil

puts string1.blank? # आउटपुट: false
puts string2.blank? # आउटपुट: true
puts string3.blank? # आउटपुट: true

array1 = [1,2,3]
array2 = []
array3 = nil

puts array1.blank? # आउटपुट: false
puts array2.blank? # आउटपुट: true
puts array3.blank? # आउटपुट: true

यह कस्टम blank? विधि nil और खाली ऑब्जेक्ट्स दोनों के लिए संक्षिप्त जांच को सक्षम बनाती है। याद रखें कि आपको अपने परिवेश या ढाँचे के आधार पर ऐसे एक्सटेंशन को परिभाषित करने की आवश्यकता हो सकती है।

सारांश

  • nil: किसी मान की अनुपस्थिति का प्रतिनिधित्व करता है।
  • खाली ऑब्जेक्ट: एक ऑब्जेक्ट जो मौजूद है लेकिन जिसमें कोई डेटा नहीं है।
  • रिक्त ऑब्जेक्ट: एक परंपरा (अक्सर nil या एक खाली ऑब्जेक्ट), आमतौर पर एक कस्टम blank? विधि का उपयोग करके जाँचा जाता है।

इन अंतरों को समझना विश्वसनीय Ruby कोड लिखने के लिए महत्वपूर्ण है।

अक्सर पूछे जाने वाले प्रश्न

  • प्रश्न: क्या मैं रिक्त ऑब्जेक्ट्स की जांच के लिए nil? का उपयोग कर सकता हूँ?
    उत्तर: नहीं। nil? केवल nil की जांच करता है। blank? या empty? और nil? के संयोजन का उपयोग करें।
  • प्रश्न: “रिक्त” Ruby में अंतर्निहित क्यों नहीं है?
    उत्तर: “रिक्त” की परिभाषा अत्यधिक संदर्भ-निर्भर है; एक सार्वभौमिक परिभाषा अव्यावहारिक होगी।
  • प्रश्न: blank? आमतौर पर कहाँ परिभाषित किया जाता है?
    उत्तर: अक्सर ढाँचों या पुस्तकालयों के भीतर एक कस्टम एक्सटेंशन के रूप में, या विशिष्ट आवश्यकताओं के लिए किसी वर्ग के भीतर।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *