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

ما الكتلة البرمجية؟
ما الكتلة البرمجية؟
الكتلة البرمجية جزء من التعليمات البرمجية محصور بين do ... end أو الأقواس المعقوفة { ... }.
[1, 2, 3].each do |num|
puts num * 2
endالكتل البرمجية ذات السطر الواحد
الكتل البرمجية ذات السطر الواحد
للعمليات البسيطة، يمكنك استخدام الأقواس المعقوفة {} بدلًا من do ... end.
[1, 2, 3].each { |num| puts num * 2 }تمرير الكتل البرمجية إلى الأساليب
تمرير الكتل البرمجية إلى الأساليب
يمكن تمرير الكتل البرمجية إلى أساليب مثل each وmap وtimes.
5.times { puts 'Hello, Ruby!' }ما هو Proc؟
ما هو Proc؟
Proc كائن يخزّن كتلة من التعليمات البرمجية ويمكن تنفيذه لاحقًا.
say_hello = Proc.new { puts 'Hello from Proc!' }
say_hello.callتمرير المعاملات إلى Proc
تمرير المعاملات إلى Proc
يمكن لـ Proc استقبال معاملات تمامًا مثل الأساليب.
square = Proc.new { |num| num * num }
puts square.call(4)ما هي Lambda؟
ما هي Lambda؟
تشبه Lambda كائن Proc، لكنها تتحقق من المعاملات بصرامة أكبر.
greet = ->(name) { puts "Hello, #{name}!" }
greet.call('Alice')الاختلافات بين Proc وLambda
الاختلافات بين Proc وLambda
- يتجاهل Proc المعاملات الإضافية، بينما يفرض Lambda مطابقتها.
- تعيد Lambda التحكم إلى الأسلوب المستدعي، بينما يخرج Proc فورًا.
proc_example = Proc.new { return 'Proc Exited' }
lambda_example = -> { return 'Lambda Executed' }
def test
puts proc_example.call
puts lambda_example.call
end
testتهانينا!
تهانينا!
لقد تعلمت كيفية استخدام الكتل البرمجية وProc وLambda في Ruby.
بعد ذلك، ستستكشف الكلمة المفتاحية yield وتمرير الكتل البرمجية ديناميكيًا.

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