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

من موسوعة حسوب

يستدعي التابع each_with_index الكتلة المعطاة مع وسيطين هما: العنصر نفسه وفهرسه لكل عنصر من عناصر الكائن القابل للتعداد الذي استدعي معه. إن مُرِّر أي شيء إلى التابع، فسيُمرَّر مباشرةً إلى ()each.

إن لم تُعطَ الكتلة، فسيُعيد التابع كائنًا من النوع Enumerator.

البنية العامة

each_with_index(*args) { |obj, i| block }  enum
each_with_index(*args)  an_enumerator

المعاملات

args

الوسائط المراد تمريرها إلى ()each.

القيمة المعادة

يعاد كائن قابل للتعداد يحوي نتائج تكرار الكتلة block على كل عنصر وفهرسه من عناصر الكائن القابل للتعداد المعطى، أو يعاد كائنٌ من النوع Enumerator إن لم تُعطَ الكتلة block.

أمثلة

مثال على استعمال التابع each_with_index:

hash = Hash.new
%w(cat dog wombat).each_with_index { |item, index|
  hash[item] = index
}
hash   #=> {"cat"=>0, "dog"=>1, "wombat"=>2}

انظر أيضًا

مصادر