1) সবচেয়ে সহজ ফাংশন index+1পরিবর্তে বিকল্প করা index:
some_array.each_with_index{|item, index| some_func(item, index+1)}
তবে সম্ভবত এটি আপনি চান না
২) পরবর্তী কাজটি আপনি করতে পারেন তা হ'ল jব্লকের মধ্যে একটি আলাদা সূচক সংজ্ঞায়িত করা এবং এটি মূল সূচকটির পরিবর্তে ব্যবহার করুন:
some_array.each_with_index{|item, i| j = i + 1; some_func(item, j)}
৩) আপনি যদি এভাবে প্রায়শই সূচক ব্যবহার করতে চান তবে অন্য একটি পদ্ধতি নির্ধারণ করুন:
module Enumerable
def each_with_index_from_one *args, &pr
each_with_index(*args){|obj, i| pr.call(obj, i+1)}
end
end
%w(one two three).each_with_index_from_one{|w, i| puts "#{i}. #{w}"}
1. one
2. two
3. three
হালনাগাদ
কয়েক বছর আগে উত্তর দেওয়া এই উত্তরটি এখন অপ্রচলিত। আধুনিক রুবিসের জন্য, জ্যাক জু এর উত্তর আরও ভাল কাজ করবে।