اذهب إلى المحتوى
  • 0

ما الفرق بين استخدام do و {} في روبي؟

ali_agha

السؤال

هل هنالك أي فرق عملي بين استخدام كتلة do وبين رموز {} في لغة روبي؟ مثال على الاستخدام:

my_array = [:uno, :dos, :tres]
my_array.each { |item|
    puts item
}

my_array = [:uno, :dos, :tres]
my_array.each do |item|
    puts item
end

اكتشفت أن رموز {} تسمح لك بوضع الكتلة (block) في سطر واحد كما في المثال التالي:

my_array.each { |item| puts item }

عدا ذالك هل توجد فروق أخرى بين الإثنين؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

بشكل عام من الأفضل استخدام رموز {} عندما تقوم بعمليات بسيطة مثل استدعاء تابع أو مقارنة... كما في المثال التالي:

some_collection.each { |element| puts element }

أما لو احتجت إلى القيام بعمليات وأعمال متعددة الأسطر وأكثر تعقيدا ففي هذه الحالة يُنصح باستخدام كتلة do كما في هذا المثال:

1.upto(10) do |x|
  add_some_num = x + rand(10)
  puts '*' * add_some_num
end

ملاحظة: إن رموز {} لديها أسبقية أعلى من do..end، وهذا قد يساعدك بالقيام بأشياء في بعض الأحيان وقد بسبب لك أخطاء ومشاكل في أحيان أخرى كما في المثالين التاليين:

1.upto 3 do |x|
  puts x
end

1.upto 3 { |x| puts x }
# SyntaxError: compile error

فالمثال الثاني لن يعمل إلا لو وضعت أقواس كالتالي:

1.upto(3) { |x| puts x }

المصدر: كتاب Ruby Cookbook

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...