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

استخدام yield
استخدام yield
تنفذ الكلمة المفتاحية yield الكتلة البرمجية المُمرَّرة إلى الأسلوب.
def greet
puts 'Before yield'
yield
puts 'After yield'
end
greet { puts 'Hello from the block!' }تمرير المعاملات باستخدام yield
تمرير المعاملات باستخدام yield
يمكن للكلمة المفتاحية yield تمرير معاملات إلى الكتلة البرمجية.
def square(num)
yield num * num
end
square(4) { |result| puts "Square: #{result}" }التحقق من تمرير كتلة برمجية
التحقق من تمرير كتلة برمجية
يمكنك التحقق مما إذا كان الأسلوب قد استقبل كتلة برمجية باستخدام block_given?.
def greet
if block_given?
yield
else
puts 'No block given'
end
end
greet
greet { puts 'Hello from block!' }تمرير الكتل البرمجية باستخدام &block
تمرير الكتل البرمجية باستخدام &block
يمكن تمرير الكتل البرمجية صراحةً كمعامل باستخدام &block.
def execute_block(&block)
block.call if block
end
execute_block { puts 'Block executed!' }استخدام yield عدة مرات
استخدام yield عدة مرات
يمكن للأسلوب استدعاء yield عدة مرات.
def repeat(times)
times.times { yield }
end
repeat(3) { puts 'Hello!' }تمرير الكتل البرمجية ككائنات Proc
تمرير الكتل البرمجية ككائنات Proc
يمكن تحويل الكتل البرمجية إلى كائنات Proc وتمريرها كمعاملات.
def execute_proc(proc)
proc.call
end
my_proc = Proc.new { puts 'Proc executed!' }
execute_proc(my_proc)استخدام Lambda ككتلة برمجية
استخدام Lambda ككتلة برمجية
يمكن استخدام Lambda بدلًا من كتلة برمجية.
def execute_lambda(lmbd)
lmbd.call
end
my_lambda = -> { puts 'Lambda executed!' }
execute_lambda(my_lambda)تهانينا!
تهانينا!
لقد تعلمت كيفية استخدام yield وتمرير الكتل البرمجية في Ruby.
بعد ذلك، ستتعلم كيفية التعامل مع المجموعات.

الأسئلة الشائعة
هل درس «Yield وتمرير الكتل» مجاني؟
نعم — نص درس «Yield وتمرير الكتل» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ruby Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ruby Academy 3 دروس في المجموع.
ماذا ستتعلم في «Yield وتمرير الكتل»؟
استكشفوا الكلمة المفتاحية yield وكيفية تمرير الكتل إلى الدوال ديناميكيًا تتمرن على Ruby Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ruby Academy؟
لا تُشترط خبرة سابقة. Ruby Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 3.
كم من الوقت يستغرق درس «Yield وتمرير الكتل»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ruby Academy هذا؟
نعم. كل درس في Ruby Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تعريف الدوال
- الكتل وProcs وLambdas
- Yield وتمرير الكتل