uniq
দিয়ে পদ্ধতি আপনি একটি অ্যারে থেকে সমস্ত সদৃশ উপাদান অপসারণ করতে পারেন৷
দেখা যাক এটা কিভাবে কাজ করে!
আপনার যদি এইরকম একটি অ্যারে থাকে :
n = [1,1,1,2,3,4,5]
যেখানে 1
নম্বর ডুপ্লিকেট করা হয়।
uniq
কল করা হচ্ছে এই অ্যারেতে অতিরিক্তগুলি সরিয়ে দেয় এবং অনন্য সংখ্যা সহ একটি নতুন অ্যারে প্রদান করে৷
উদাহরণ :
n.uniq # [1,2,3,4,5]
লক্ষ্য করুন যে uniq
n
পরিবর্তন করবে না (মূল অ্যারে), তাই আমাদের হয় uniq!
কল করতে হবে , অথবা নতুন অ্যারে সংরক্ষণ করতে।
উদাহরণ :
unique_numbers = n.uniq
বেশ সহজ, তাই না?
কিন্তু অনেকেই জানেন না যে uniq
একটি ব্লক লাগে।
একটি ব্লক দিয়ে, আপনি আরও উন্নত করতে পারেন জিনিস।
আমাকে ব্যাখ্যা করতে দিন...
একটি ব্লকের সাথে রুবি ইউনিক পদ্ধতি কীভাবে ব্যবহার করবেন
যখন আপনি uniq
কল করেন , এটি আপনার অ্যারের উপাদান থেকে একটি হ্যাশ তৈরি করে কাজ করে।
প্রতিটি উপাদান হ্যাশের একটি কী হয়ে ওঠে।
যেহেতু হ্যাশ কী অনন্য, আমরা হ্যাশের সমস্ত কীগুলির একটি তালিকা পেতে পারি, এই তালিকাটি তখন অনন্য উপাদান সহ আমাদের নতুন অ্যারেতে পরিণত হয়৷
এখন :
যদি আপনি পরিবর্তন করতে চান যা কিছু অনন্য করে, আপনি একটি ব্লক পাস করতে পারেন।
এখানে একটি উদাহরণ আছে :
fruits = %w(orange apple banana)
"কমলা" এবং "কলা" 6টি অক্ষরের দৈর্ঘ্য একই।
যদি আমরা uniq
ব্যবহার করি এইরকম :
fruits.uniq(&:size) # ["orange", "apple"]
তারপরে আমরা "কলা" ফেলে দেই কারণ যখন আমরা স্ট্রিংগুলির আকারের সাথে তুলনা করি তখন এটি একটি সদৃশ হবে৷
আরেকটি উদাহরণ :
objects = [1, 2, "a", "b", :c, :d] objects.uniq(&:class)
এটি আপনাকে ক্লাস অনুসারে অনন্য বস্তু সহ একটি অ্যারে পায়:
[1, "a", :c]
আপনি কি এর শক্তি দেখতে পাচ্ছেন?
যখন আপনি uniq
এ একটি ব্লক পাস করেন , আপনি ঠিক কোন নিয়ম দ্বারা কোন কিছুকে অনন্য বলে গণ্য করা হয় তা নির্ধারণ করতে সক্ষম৷
একাধিক শর্ত সহ কিভাবে Uniq ব্যবহার করবেন
আপনি একাধিক শর্ত ব্যবহার করতে পারেন!
এখানে কিভাবে :
ধরা যাক আপনার একজন User
আছে ক্লাস, সহ:
age
name
country
আপনি একই বয়সের দেশ প্রতি শুধুমাত্র একজন ব্যক্তি চান।
একটি ব্লক দিয়ে সহজ :
[david, petter, raphael].uniq { |person| [person.age, person.country] }
এই কোডের সাথে, কোনো কিছুকে অনন্য বলে বিবেচনা করার আগে উভয় শর্তই মিলতে হবে।
এটি কিভাবে কাজ করে?
একটি ব্লক ছাড়া, বস্তুটি হ্যাশ কী হয়ে যায়।
একটি ব্লকের সাথে, ফলিত মান হ্যাশ কী হয়ে যায় এবং বস্তুটি হ্যাশ মান হয়ে যায়।
তারপর…
রুবি মান নেয় এবং তাদের একটি নতুন অ্যারে হিসাবে ফেরত দেয়।
এগুলি কেবল বাস্তবায়নের বিশদ, কিন্তু আমি সেগুলিকে খুব আকর্ষণীয় বলে মনে করি তাই আমি ভেবেছিলাম যে আমি সেগুলি আপনার সাথে শেয়ার করব৷
৷সারাংশ
আপনি uniq
সম্পর্কে শিখেছেন রুবি মধ্যে পদ্ধতি! ঠিক কিভাবে এটি ব্যবহার করতে হয়, কেন এটি দরকারী, এবং এটি কিভাবে কাজ করে।
এখন এই পদ্ধতির সাথে অনুশীলন করুন যাতে আপনি এটি মনে রাখতে পারেন।
পড়ার জন্য ধন্যবাদ!