English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
ببساطة: التكرار (iterate) يعني القيام بالشئ نفسه مرارًا وتكرارًا، لذا فإن الم迭代ر (iterator) هو ما يتم استخدامه للقيام بالشئ نفسه مرارًا وتكرارًا.
الم迭代ر هوالمجموعةالطرق المدعومة. يتم تعريف الكائن الذي يحتوي على مجموعة من أعضاء البيانات كـمجموعة. في Ruby، يمكن تسمية المصفوفة (Array) والمصفوفة (Hash) بمجموعات.
الم迭代ر يُعيد جميع عناصر المجموعة، واحدة تلو الأخرى. في هذا السياق سنناقش نوعين من الم迭代ر،كل و collect.
كل الم迭代ر يُعيد جميع عناصر المصفوفة أو المصفوفة.
collection كل |variable| الكود النهاية
لـالمجموعةللعناصر في الكود، هنا يمكن أن تكون المجموعة مصفوفة أو مصفوفة.
#!/usr/bin/ruby ary = [1,2,3,4,5] ary كل |i| puts i النهاية
نتائج التنفيذ للعينة أعلاه هي:
1 2 3 4 5
كل الم迭代ر دائمًا مرتبط بكتلة. يُعيد كل قيمة من قيم النص إلى الكتلة، واحدة تلو الأخرى. يتم تخزين القيمة في المتغير i ثم يعرض على الشاشة.
collect يستعيد الم迭代ر جميع عناصر المجموعة.
collection = collection.collect
collect الطريقة لا تحتاج دائمًا إلى أن تكون مرتبطة بمقطع.collect الطريقة تعود بالكامل للجمعية، سواء كانت مجموعة أو خوارزمية.
#!/usr/bin/ruby a = [1,2,3,4,5] b = Array.new b = a.collect{ |x|x } puts b
نتائج التنفيذ للعينة أعلاه هي:
1 2 3 4 5
ملاحظة:collect الطريقة ليست الطريقة الصحيحة لتكرار مجموعة من مجموعة أخرى. هناك طريقة أخرى تُدعى clone الطريقة، تستخدم لتكرار مجموعة إلى أخرى.
عندما تريد تنفيذ بعض العمليات على كل قيمة للحصول على مجموعة جديدة، عادةً ما تستخدم طريقة collect. على سبيل المثال، الشيفرة أدناه ستجلب مجموعة تحتوي على قيم مضاعفة عشرة مرات للقيم في a.
#!/usr/bin/ruby a = [1,2,3,4,5] b = a.collect{|x| 10*x} puts b
نتائج التنفيذ للعينة أعلاه هي:
10 20 30 40 50