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

ما هي دالة 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.

تعلم 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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.