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

इसे पढ़ें यदि आप रूबी में इंस्टेंस वेरिएबल्स को समझना चाहते हैं

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

आप सही जगह पर हैं!

पहला सवाल…

एक आवृत्ति चर क्या है?

रूबी प्रोग्रामिंग भाषा में, एक आवृत्ति चर एक प्रकार का चर है जो एक @ . से शुरू होता है प्रतीक।

उदाहरण :

@fruit

ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) के हिस्से के रूप में एक इंस्टेंस वेरिएबल का उपयोग ऑब्जेक्ट को डेटा स्टोर करने के लिए अपना निजी स्थान देने के लिए किया जाता है।

हम कहते हैं कि वस्तुएं कर सकती हैं :

  1. चीजें करें
  2. चीजें जानें

तरीकों से चीजें होती हैं, वे चीजें करती हैं।

इंस्टेंस वेरिएबल डेटा स्टोर करते हैं, वे चीजों को जानते हैं।

उदाहरण :

अगर आपके पास Fruit है कक्षा, आप जानना चाह सकते हैं कि यह किस प्रकार का फल है, किस रंग, वजन, आदि।

ये सभी विशेषताएँ आवृत्ति चर बन जाती हैं।

जैसे @color , @type , @weight

अगला :

आइए कोड उदाहरण देखें।

रूबी इंस्टेंस वैरिएबल को कैसे परिभाषित और उपयोग करें

आप कक्षाओं के अंदर आवृत्ति चर परिभाषित करते हैं।

उदाहरण :

मान लें कि हमारे पास CoffeeMachine है कक्षा।

एक कॉफी मशीन को पानी की आवश्यकता होती है, इसलिए आप जानना चाहेंगे कि कितना पानी उपलब्ध है।

हम यह कर सकते हैं :

class CoffeeMachine
  def initialize
    @water = 100
  end
end

यह @water हमारा उदाहरण चर है।

हम 100 assign असाइन करते हैं करने के लिए @water प्रारंभिक मान के रूप में।

अब :

अगर हमारे पास make_coffee है विधि, हम टैंक में बचे पानी की मात्रा को कम कर सकते हैं।

class CoffeeMachine
  def initialize
    @water = 100
  end

  def make_coffee
    @water -= 10
  end
end

ध्यान दें कि प्रत्येक CoffeeMachine आपके द्वारा बनाई गई वस्तु (new . के साथ ) का @water . के लिए अपना निजी मान होगा ।

समझ में आता है, है ना?

क्योंकि अगर आपके पास 10 वास्तविक कॉफी मशीन हैं, तो प्रत्येक का अपना जल स्तर होगा।

इसलिए हम आवृत्ति चर का उपयोग करते हैं!

इंस्टेंस वैरिएबल कैसे एक्सेस करें

इंस्टेंस वेरिएबल बहुत उपयोगी नहीं होंगे यदि आप उनके वर्तमान मूल्य को नहीं पढ़ सकते हैं।

आप @ . के साथ एक आवृत्ति चर मान पढ़ सकते हैं वाक्य रचना।

इसे पसंद करें :

class CoffeeMachine
  def initialize
    @water = 50
  end

  def print_water_level
    puts "Water Level: #{@water}"
  end
end

machine = CoffeeMachine.new
machine.print_water_level

# Water Level: 50

print_water_level विधि @water uses का उपयोग करती है इसका मूल्य प्रिंट करने के लिए।

विशेषता एक्सेसर्स का उपयोग करना

आप देख सकते हैं कि आप बाहर . से आवृत्ति चरों तक नहीं पहुंच सकते हैं कक्षा।

वह डिज़ाइन द्वारा है!

इसे हम "एनकैप्सुलेशन" कहते हैं, किसी ऑब्जेक्ट का डेटा अन्य रूबी ऑब्जेक्ट्स की तरह बाहरी दुनिया से सुरक्षित रहता है।

यहां मेरा मतलब है :

machine = CoffeeMachine.new

machine.water
# NoMethodError: undefined method `water' for #<CoffeeMachine:0x2d0a530>

machine.@water
# SyntaxError: unexpected tIVAR, expecting '('
के लिए अपरिभाषित विधि 'वॉटर'

कुछ मामलों में, आप इसकी अनुमति देना चाह सकते हैं।

आप ऑब्जेक्ट के डेटा में एक विंडो खोल सकते हैं ताकि वह बाहर से उपलब्ध हो जाए।

ऐसा करने का एक तरीका :

class CoffeeMachine
  def initialize
    @water = 100
  end

  def water
    @water
  end
end

machine = CoffeeMachine.new
machine.water

# 100

यहां कुछ खास नहीं है।

हम अंदर से मान वापस कर रहे हैं, जहां हमारी पहुंच है

एक अन्य विकल्प विशेषता रीडर का उपयोग करना है।

उदाहरण :

class CoffeeMachine
  attr_reader :water

  def initialize
    @water = 100
  end
end

machine = CoffeeMachine.new
machine.water

# 100

पहले जैसा ही।

फर्क सिर्फ इतना है कि रूबी आपके लिए कड़ी मेहनत करेगी और वह water बनाएगी विधि।

वे बातें जो आपको जाननी चाहिए

इंस्टेंस वैरिएबल के बारे में याद रखने वाली कुछ चीज़ें ताकि आप परेशानी में न पड़ें.

नोट लें :

  • एक अपरिभाषित आवृत्ति चर हमेशा nil लौटाता है
  • इंस्टेंस वैरिएबल को initialize में बनाने की ज़रूरत नहीं है विधि, लेकिन इस तरह आप उन्हें एक प्रारंभिक मान देते हैं
  • इंस्टेंस वैरिएबल तक पहुंचने के उन्नत तरीके हैं, जैसे instance_variable_get , लेकिन आपको इनसे बचना चाहिए

बीटीडब्ल्यू, आप आवृत्ति चर की एक सूची प्राप्त कर सकते हैं।

इसे पसंद करें :

machine.instance_variables
# [:@water]

आपको वह मददगार लग सकता है 🙂

एक और बात :

रेल में, उदाहरण चर (जैसे @books ), आपके नियंत्रक और विचारों के बीच डेटा साझा करने के लिए उपयोग किया जाता है।

लेकिन आप अभी भी उन्हें अपनी कक्षाओं के लिए सामान्य रूप से उपयोग कर सकते हैं।

सारांश

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

अभी अभ्यास करना न भूलें, कोड उदाहरणों के साथ खेलें और अपने स्वयं के उदाहरण बनाएं।

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


  1. रूबी में फाइलें कैसे पढ़ें और लिखें (उदाहरण के साथ)

    आज आप रूबी में फाइलों को पढ़ना और लिखना सीखेंगे ताकि आप सामग्री को निकाल सकें, नई फाइलें बना सकें और अपनी जरूरत की जानकारी पा सकें! यहां बताया गया है कि हम क्या कवर करने जा रहे हैं : सामग्री 1 रूबी में फ़ाइलें कैसे पढ़ें 2 रूबी में फ़ाइल को कैसे लिखें 3 रूबी फ़ाइल विधियाँ 4 निर्देशिका संचालन 5

  1. यदि आप अभी भी इंटरनेट एक्सप्लोरर को पसंद करते हैं, तो इसे अवश्य पढ़ें!

    इंटरनेट एक्सप्लोरर 1995 से विंडोज 10 के रिलीज होने के बाद तक विंडोज का एक हिस्सा रहा है। IE 11 इंटरनेट एक्सप्लोरर का अंतिम संस्करण था। हम में से कई लोग अभी भी इसके उपयोगकर्ता के अनुकूल इंटरफेस के कारण इंटरनेट एक्सप्लोरर का उपयोग करना पसंद करते हैं। हाल ही में, क्या आपने अनुभव किया है कि आपका IE धीमा

  1. क्या आप सोशल नेटवर्किंग से प्यार करते हैं? तो आपको इसे पढ़ना होगा!

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