কোনও পার্থক্য নেই, প্রকৃতপক্ষে mapসি হিসাবে প্রয়োগ করা হয়েছে rb_ary_collectএবং enum_collect(যেমন: mapএকটি অ্যারে এবং অন্য কোনও এনামের মধ্যে পার্থক্য রয়েছে, তবে mapএবং এর মধ্যে কোনও পার্থক্য নেই collect)।
রুবিতে কেন mapএবং উভয়ই collectবিদ্যমান? mapফাংশন বিভিন্ন ভাষায় অনেক নামকরণ নিয়মাবলী হয়েছে। উইকিপিডিয়া একটি ওভারভিউ সরবরাহ করে :
মানচিত্রের ক্রিয়াকলাপটি কার্যকরী প্রোগ্রামিং ভাষায় উদ্ভূত হয়েছে তবে বর্তমানে এটি অনেকগুলি প্রক্রিয়াগত, অবজেক্ট ওরিয়েন্টেড এবং বহু-দৃষ্টান্তমূলক ভাষায় সমর্থিত (বা সংজ্ঞায়িতও হতে পারে): সি ++ এর স্ট্যান্ডার্ড টেম্পলেট লাইব্রেরিতে, এটি transformসি # (3.0) এর মধ্যে বলা হয় লিনকু লাইব্রেরি, এটি বলা একটি এক্সটেনশন পদ্ধতি হিসাবে সরবরাহ করা হয় Select। পার্ল, পাইথন এবং রুবির মতো উচ্চ স্তরের ভাষাগুলিতেও মানচিত্রটি প্রায়শই ব্যবহৃত অপারেশন; অপারেশন mapএই তিনটি ভাষায় বলা হয়। রুবিতে (স্মার্টটাক থেকে) [জোর দেওয়া খনি] মানচিত্রের একটি collectউপাধি সরবরাহ করা হয়েছে । কমন লিস্প ম্যাপের মতো ফাংশনগুলির একটি পরিবার সরবরাহ করে; এখানে বর্ণিত আচরণের সাথে সম্পর্কিতটিকে বলা হয় mapcar(সিএআর অপারেশন ব্যবহার করে অ্যাক্সেস নির্দেশ করে কার)।
ঘরে বসে আরও বেশি কিছু অনুভব করার জন্য রুবি স্মার্টটাক ওয়ার্ল্ডের প্রোগ্রামারদের জন্য একটি উপনাম সরবরাহ করে।
অ্যারে এবং এনামগুলির জন্য কেন পৃথক বাস্তবায়ন হয়? একটি এনাম একটি সাধারণ পুনরাবৃত্তি কাঠামো, যার অর্থ রুবি পরবর্তী উপাদানগুলি কী হতে পারে তার পূর্বাভাস দিতে পারে এমন কোনও উপায় নেই (আপনি অসীম এনামগুলি সংজ্ঞায়িত করতে পারেন, উদাহরণের জন্য প্রধানমন্ত্রী দেখুন ) see সুতরাং প্রতিটি ক্রমাগত উপাদান পেতে এটি একটি ফাংশন কল করতে হবে (সাধারণত এটি eachপদ্ধতি হবে)।
অ্যারেগুলি সর্বাধিক সাধারণ সংগ্রহ তাই তাদের কার্যকারিতাটি অনুকূল করা যুক্তিসঙ্গত। যেহেতু রুবি অ্যারে কীভাবে কাজ করে সে সম্পর্কে অনেক কিছু জানেন যে এটি কল eachকরতে হবে না তবে কেবলমাত্র সরল পয়েন্টার ম্যানিপুলেশন ব্যবহার করতে পারেন যা উল্লেখযোগ্যভাবে দ্রুত।
একই অপ্টিমাইজেশন মতো বিন্যাস পদ্ধতি একটি সংখ্যা জন্য অস্তিত্ব zipবা count।
mapকোড গল্ফ এ পছন্দ হয় ।