Ruby Academy · पाठ

send और eval का उपयोग

गतिशील मेथड कॉल निष्पादित करना और स्ट्रिंग का Ruby कोड के रूप में मूल्यांकन करना सीखिए

पाठ 4, कुल 4 में से10 चरण

send और eval का उपयोग, CoddyKit पर Ruby Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Ruby Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Ruby Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

गतिशील कोड निष्पादन

send और ईवल का उपयोग

रूबी, कोड को गतिशील रूप से निष्पादित करने के लिए send और eval जैसी शक्तिशाली विधियाँ प्रदान करती है।

इन विधियों की सहायता से विधियों को गतिशील रूप से बुलाया जा सकता है और रनटाइम पर रूबी व्यंजकों का मूल्यांकन किया जा सकता है।

send और eval का उपयोग — चित्र 1

send विधि क्या है

send नाम के आधार पर विधियों को गतिशील रूप से बुलाने देता है।

यह निजी और सार्वजनिक दोनों विधियों को चला सकता है।

class Person
  def greet
    'Hello!'
  end
end

p = Person.new
puts p.send(:greet)

आर्ग्युमेंट्स के साथ send का उपयोग

send विधियों को गतिशील रूप से आर्ग्युमेंट्स दे सकता है।

class Person
  def greet(name)
    "Hello, #{name}!"
  end
end

p = Person.new
puts p.send(:greet, 'Alice')

send से निजी विधियों को बुलाना

send विधि की दृश्यता से जुड़े नियमों को दरकिनार करके निजी विधियों को बुला सकता है।

class Person
  private
  def secret
    'This is a secret!'
  end
end

p = Person.new
puts p.send(:secret)

ईवल विधि क्या है

eval रनटाइम पर किसी स्ट्रिंग को रूबी कोड के रूप में निष्पादित करता है।

code = "5 + 10"
puts eval(code) # Outputs: 15

ईवल से गतिशील कोड निष्पादित करना

eval गतिशील रूप से चर परिभाषित कर सकता है और व्यंजकों को निष्पादित कर सकता है।

eval("x = 100")
puts x

ईवल से विधियाँ परिभाषित करना

विधियों को गतिशील रूप से परिभाषित करने के लिए eval का उपयोग करें।

eval("def dynamic_method; 'Hello from eval'; end")
puts dynamic_method

send और ईवल के सुरक्षा जोखिम

send और eval का अनुचित उपयोग सुरक्षा जोखिम पैदा कर सकता है:

  • eval अविश्वसनीय कोड निष्पादित कर सकता है, जिससे सुरक्षा कमजोरियाँ पैदा हो सकती हैं।
  • send निजी या संवेदनशील विधियों को बुला सकता है।
  • अनपेक्षित व्यवहार से बचने के लिए इनका सावधानी से उपयोग करें।

send और ईवल का पुनरावलोकन

बधाई हो!

आपने गतिशील विधि निष्पादन के लिए send और eval का उपयोग करना सीख लिया है।

इसके साथ रूबी में मेटाप्रोग्रामिंग अनुभाग पूरा होता है।

send और eval का उपयोग — चित्र 10
शुरुआत निःशुल्क

एआई शिक्षक के साथ Ruby सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
29
पाठ
109

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

क्या “send और eval का उपयोग” पाठ निःशुल्क है?

हाँ — Ruby Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “send और eval का उपयोग” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Ruby Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“send और eval का उपयोग” में मैं क्या सीखूँगा?

गतिशील मेथड कॉल निष्पादित करना और स्ट्रिंग का Ruby कोड के रूप में मूल्यांकन करना सीखिए आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Ruby Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Ruby Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Ruby Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“send और eval का उपयोग” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Ruby Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Ruby Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. मेटाप्रोग्रामिंग क्या है?
  2. गतिशील मेथड परिभाषा
  3. ओपन क्लास और मंकी पैचिंग
  4. send और eval का उपयोग
← Ruby Academy पर वापस जाएँ