0Pricing
Ruby Academy · درس

‏Yield وتمرير الكتل

استكشفوا الكلمة المفتاحية yield وكيفية تمرير الكتل إلى الدوال ديناميكيًا

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

yield وتمرير الكتل البرمجية

yield وتمرير الكتل البرمجية

تتيح Ruby تمرير الكتل البرمجية إلى الأساليب باستخدام الكلمة المفتاحية yield.

في هذا الدرس، ستتعلم كيفية استخدام yield لتنفيذ كتلة برمجية داخل أسلوب.

‏Yield وتمرير الكتل — رسم توضيحي 1

استخدام 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 وتمرير الكتل — رسم توضيحي 10

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

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

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

  1. تعريف الدوال
  2. الكتل وProcs وLambdas
  3. ‏Yield وتمرير الكتل
← العودة إلى Ruby Academy