Ruby Academy · درس

استخدام send وeval

تعرّفوا على كيفية تنفيذ استدعاءات الدوال الديناميكية وتقييم السلاسل النصية بصفتها شيفرة Ruby

الدرس 4 من 410 خطوة

استخدام send وeval درس مجاني في Ruby Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ruby Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ruby Academy 4 دروس في المجموع.

تنفيذ التعليمات البرمجية الديناميكية

استخدام send وeval

توفر Ruby أساليب قوية مثل send وeval لتنفيذ التعليمات البرمجية ديناميكيًا.

تتيح هذه الأساليب استدعاء الأساليب ديناميكيًا وتقييم تعبيرات Ruby أثناء وقت التشغيل.

استخدام 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؟

تنفذ eval سلسلة نصية باعتبارها تعليمات برمجية بلغة Ruby أثناء وقت التشغيل.

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

تنفيذ التعليمات البرمجية الديناميكية باستخدام eval

يمكن لـeval تعريف المتغيرات وتنفيذ التعبيرات ديناميكيًا.

eval("x = 100")
puts x

تعريف الأساليب باستخدام eval

استخدم eval لتعريف الأساليب ديناميكيًا.

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

مخاطر أمان send وeval

قد يؤدي استخدام send وeval بطريقة غير صحيحة إلى مخاطر أمنية:

  • يمكن لـeval تنفيذ تعليمات برمجية غير موثوقة، مما قد يؤدي إلى ثغرات أمنية.
  • يمكن لـsend استدعاء أساليب خاصة أو حساسة.
  • استخدمهما بحذر لتجنب السلوك غير المقصود.

مراجعة send وeval

تهانينا!

لقد تعلمت كيفية استخدام send وeval لتنفيذ الأساليب ديناميكيًا.

بهذا يختتم قسم البرمجة الوصفية في Ruby.

استخدام send وeval — رسم توضيحي 10
البدء مجانًا

تعلم Ruby مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
29
الدروس
109

الأسئلة الشائعة

هل درس «استخدام send وeval» مجاني؟

نعم — نص درس «استخدام send وeval» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ruby Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ruby Academy 4 دروس في المجموع.

ماذا ستتعلم في «استخدام send وeval»؟

تعرّفوا على كيفية تنفيذ استدعاءات الدوال الديناميكية وتقييم السلاسل النصية بصفتها شيفرة Ruby تتمرن على Ruby Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Ruby Academy؟

لا تُشترط خبرة سابقة. Ruby Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «استخدام send وeval»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Ruby Academy هذا؟

نعم. كل درس في Ruby Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ما هي البرمجة الوصفية؟
  2. التعريف الديناميكي للدوال
  3. الفئات المفتوحة والترقيع بالقرد
  4. استخدام send وeval
← العودة إلى Ruby Academy