نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

الصنف Enumerator::Lazy في روبي

الصنف Enumerator::Lazy هو صنف يسمح بعملية التكرار - مثل الصنف Enumerator - ولكن بالنمط الكسول (lazy fashion). توابع الصنف العامة new ينشئ كائن تعداد جديد من النوع Enumerator::Lazy. توابع النسخة العامة chunk chunk_while collect collect_concat يعيد كائن تعداد جديد من النوع Lazy مع النتائج المتسلسلة الناتجة عن تنفيذ الكتلة المعطاة مرةً واحدةً لكل عنصر من عناصر الكائن Lazy الذي استدعي معه. drop drop_while enum_for يشبه التابع Kernel.to_enum باستثناء أنه يعيد مُعدِّدًا كسولًا (كائن من النوع Enumerator::Lazy). find_all flat_map يعيد كائن ...

التابع Enumerable.lazy في روبي

يعيد التابع lazy مُعدِّدًا كسولًا (lazy enumerator) تُعدِّد (enumerate) توابعه map/collect، و flat_map/collect_concat، و select/find_all، و rejectK، و grep، و grep_v، و zip، و take، و take_while، و drop، و drop_while القيم بحسب الحاجة. على أي حال، إن أعطيت كتلة لتجميع العناصر المكرَّرة وضغطها (zip)، فستُعدَّد القيم مباشرةً. البنية العامة lazy → lazy_enumerator القيمة المعادة يعاد مُعدِّدٌ كسول (lazy enumerator). أمثلة يوجد البرنامج التالي ثلاثية (مبرهنة) فيثاغورث (pythagorean triples): def pythagorean_triples (1..Float::INFINITY).lazy.flat_map {|z| (1..z).flat_map {|x| ...

التابع Enumerator::Lazy.flat_map في روبي

يعيد التابع flat_map كائن تعداد جديد من النوع Lazy مع النتائج المتسلسلة الناتجة عن تنفيذ الكتلة المعطاة مرةً واحدةً لكل عنصر من عناصر الكائن Lazy الذي استدعي معه. ["foo", "bar"].lazy.flat_map {|i| i.each_char.lazy}.force #=> ["f", "o", "o", "b", "a", "r"] تُحلَّل (decompose) القيمة x المعادة من الكتلة إن تحقق أحد الشرطين التاليين: x تستجيب للتابعين each و force كلاهما، وهذا يعني أن x هي مُعدِّد كسول (lazy enumerator). x هي مصفوفة أو تستجيب للتابع to_ary. خلا ذلك، ستُحتَوى x كما هي في القيمة المعادة. [{a:1}, ...

التابع Enumerator::Lazy.new في روبي

ينشئ التابع new كائن تعداد جديد من النوع Enumerator::Lazy. عندما يُبدَأ بتعداد (enumerate) المُعدِّد (Enumerator) -عبر استدعاء التابع force مثلًا-، سيُعدَّد الكائن المُمرَّر إلى هذا التابع وستُمرَّر كل قيمة إلى الكتلة المعطاة. يمكن للكتلة أن تعيد القيمة الناتجة باستعمال yielder. البنية العامة new(obj, size=nil) { |yielder, *values| ... } المعاملات obj الكائن المراد تعداده عبر النمط الكسول (lazy). size القيمة الافتراضية هي: nil. أمثلة مثال على استعمال التابع new لإنشاء تابع باسم filter_map في النمط الكسول (lazy) وغير الكسول (non-lazy): module Enumerable ...

التابع Enumerator::Lazy.collect_concat في روبي

يعيد التابع collect_concat كائن تعداد جديد من النوع Lazy مع النتائج المتسلسلة الناتجة عن تنفيذ الكتلة المعطاة مرةً واحدةً لكل عنصر من عناصر الكائن Lazy الذي استدعي معه. ["foo", "bar"].lazy.collect_concat {|i| i.each_char.lazy}.force #=> ["f", "o", "o", "b", "a", "r"] تُحلَّل (decompose) القيمة x المعادة من الكتلة إن تحقق أحد الشرطين التاليين: x تستجيب للتابعين each و force كلاهما، وهذا يعني أن x هي مُعدِّد كسول (lazy enumerator). x هي مصفوفة أو تستجيب للتابع to_ary. خلا ذلك، ستُحتَوى x كما هي في القيمة المعادة. [{a:1}, ...

التابع Enumerator::Lazy.enum_for في روبي

يشبه التابع enum_for التابع Kernel.to_enum باستثناء أنه يعيد مُعدِّدًا كسولًا (كائن من النوع Enumerator::Lazy). يجعل هذا من السهل تعريف توابع الصنف Enumerable التي ستبقى كسولة بشكل طبيعي إن استدعيت من مُعدِّد كسول (lazy enumerator). البنية العامة enum_for(method = :each, *args) → lazy_enum enum_for(method = :each, *args){|*args| block} → lazy_enum المعاملات method تابع. القيمة الافتراضية هي: each:. args الوسائط المُمرَّرة إلى التابع method. القيمة المعادة يعاد مُعدِّدٌ كسولٌ (كائن من النوع Enumerator::Lazy). أمثلة المثال التالي هو تكملة للمثال الموجود في صفحة التابع Kernel.to_enum: # ...

التابع Enumerator::Lazy.to_enum في روبي

يشبه التابع to_enum التابع Kernel.to_enum باستثناء أنه يعيد مُعدِّدًا كسولًا (كائن من النوع Enumerator::Lazy). يجعل هذا من السهل تعريف توابع الصنف Enumerable التي ستبقى كسولة بشكل طبيعي إن استدعيت من مُعدِّد كسول (lazy enumerator). البنية العامة to_enum(method = :each, *args) → lazy_enum to_enum(method = :each, *args) {|*args| block} → lazy_enum المعاملات method تابع. القيمة الافتراضية هي: each:. args الوسائط المُمرَّرة إلى التابع method. القيمة المعادة يعاد مُعدِّدٌ كسولٌ (كائن من النوع Enumerator::Lazy). أمثلة المثال التالي هو تكملة للمثال الموجود في صفحة التابع Kernel.to_enum: ...

المخلوط Enumerable في روبي

يوفر المخلوط Enumerable مجموعة من الأصناف مع توابع بحث ونقل (traversal) عديدة قادرة على ترتيب عناصر مجموعة مع بعضها بعضًا. يجب أن يوفر الصنف التابع each الذي يعيد العضو التالي من المجموعة. إن استعمل التابع max، أو mix، أو sort، فيجب أن يُوازَن بين الكائنات في المجموعة باستعمال المعامل <=> الذي تعتمد عليه تلك التوابع في ترتيب عناصر المجموعة الواحدة مع بعضها بعضًا. توابع النسخة العامة all?‎ يتحقق إن كان كل عنصر من عناصر المجموعة التي استدعيت معه محقَّقًا للكتلة ...

الصنف Enumerator في روبي

الصنف Enumerator هو صنفٌ يسمح بتنفيذ عملية التكرار الداخلي والخارجي على الكائنات. يمكن إنشاء كائنات من هذا الصنف باستعمال إحدى التوابع التالية: Kernel.to_enum، أو Kernel.enum_for، أو new. أغلب التوابع في هذا الصنف تملك شكلين هما: الشكل الكتلي (block form) الذي تقيَّم فيه المحتويات لكل عنصر في المجموعة التعدادية، والشكل الغير كتلي (non-block form) الذي يعيد كائنًا جديدًا من النوع Enumerator يغلِّف التكرار. enumerator = %w(one two three).each puts enumerator.class # => Enumerator enumerator.each_with_object("foo") do |item, obj| puts "#{obj}: #{item}" end # foo: one # ...

التابع Enumerable.take في روبي

يعيد التابع take أول عدة عناصر من الكائن القابل للتعداد الذي استدعي معه. البنية العامة take(n) → array المعاملات n عدد صحيح يحدِّد عدد العناصر الأولى المراد جلبها. القيمة المعادة تعاد مصفوفة تحوي أول n عنصر من عناصر الكائن القابل للتعداد المعطى. أمثلة مثال على استعمال التابع take: a = [1, 2, 3, 4, 5, 0] a.take(3) #=> [1, 2, 3] a.take(30) ...

عرض (20 السابقة | 20 التالية) (20 | 50 | 100 | 250 | 500).