মানচিত্র হল একটি রুবি পদ্ধতি যা আপনি অ্যারে, হ্যাশ এবং রেঞ্জের সাথে ব্যবহার করতে পারেন৷
৷মানচিত্রের প্রধান ব্যবহার হল ডেটা ট্রান্সফর্ম করা।
উদাহরণস্বরূপ :
স্ট্রিংগুলির একটি অ্যারে দেওয়া হলে, আপনি প্রতিটি স্ট্রিংকে অতিক্রম করতে পারেন এবং প্রতিটি অক্ষরকে UPPERCASE করতে পারেন৷
অথবা আপনার যদি User
একটি তালিকা থাকে বস্তু…
আপনি রূপান্তর করতে পারেন৷ তাদের সংশ্লিষ্ট ইমেল ঠিকানা, ফোন নম্বর, বা অন্য কোনো বৈশিষ্ট্যের তালিকায় User
-এ সংজ্ঞায়িত ক্লাস।
চলুন দেখা যাক কিভাবে এটি করতে হয়!
রুবি মানচিত্র সিনট্যাক্স
মানচিত্রের সিনট্যাক্স এইরকম দেখায়:
array = ["a", "b", "c"] array.map { |string| string.upcase } # ["A", "B", "C"]
প্রথমত, আপনার একটি অ্যারে আছে, তবে এটি একটি হ্যাশ বা একটি পরিসরও হতে পারে৷
৷
তারপর আপনি map
কল করুন একটি ব্লক সহ।
ব্লক হল বন্ধনী { ... }
এর মধ্যে এই জিনিস . ব্লকের ভিতরে আপনি বলছেন কিভাবে আপনি অ্যারের প্রতিটি উপাদানকে রূপান্তর করতে চান। এটি মূলত একটি ফাংশন।
আপনি map
কল করার পরে কি হবে ?
মানচিত্র একটি নতুন অ্যারে ফেরত দেয় ফলাফল সহ।
এটি মূল পরিবর্তন করবে না।
আপনি যদি আসল অ্যারে পরিবর্তন করতে চান তাহলে আপনি map!
ব্যবহার করতে পারেন .
রুবি মানচিত্রের উদাহরণ
এখানে কিছু উদাহরণ আছে যা আপনার কাজে লাগতে পারে।
সংখ্যা দ্বিগুণ :
array = [1,2,3] array.map { |n| n * 2 } # [2, 4, 6]
স্ট্রিংগুলিকে পূর্ণসংখ্যাতে রূপান্তর করুন :
array = ["11", "21", "5"] array.map { |str| str.to_i } # [11, 21, 5]
হ্যাশ মানকে প্রতীকে রূপান্তর করুন :
hash = { bacon: "protein", apple: "fruit" } hash.map { |k,v| [k, v.to_sym] }.to_h # {:bacon=>:protein, :apple=>:fruit}
এই হ্যাশ উদাহরণ সম্পর্কে:
আপনি দেখতে পাবেন যে আমাদের কাছে একটির পরিবর্তে দুটি আর্গুমেন্ট রয়েছে, কারণ একটি হ্যাশ উপাদান একটি কী এবং একটি মান দিয়ে গঠিত৷
তারপর আমি রূপান্তরিত কী এবং মান সহ একটি নতুন অ্যারে ফিরিয়ে দিচ্ছি।
শেষ ধাপ হল এটিকে হ্যাশে রূপান্তর করা।
রুবি মানচিত্র বনাম প্রতিটি
মানচিত্র এবং প্রতিটির মধ্যে পার্থক্য কি?
প্রতিটি মানচিত্রের আরও আদিম সংস্করণের মত …
এটি আপনাকে প্রতিটি উপাদান দেয় যাতে আপনি এটির সাথে কাজ করতে পারেন, কিন্তু এটি ফলাফল সংগ্রহ করে না৷
৷প্রতিটি সর্বদা আসল, অপরিবর্তিত বস্তু ফেরত দেয় .
যদিও মানচিত্র একই কাজ করে, কিন্তু…
এটি রূপান্তরিত উপাদানগুলির সাথে একটি নতুন অ্যারে প্রদান করে৷
উদাহরণ :
array.each { |n| n * 2 } # [1, 2, 3] array.map { |n| n * 2 } # [2, 4, 6]
রুবি মানচিত্র বনাম সংগ্রহ
মানচিত্র এবং সংগ্রহ ঠিক একই পদ্ধতি।
তারা একই জিনিসের বিভিন্ন নাম!
আপনার কোনটি ব্যবহার করা উচিত?
আপনি যদি ওপেন সোর্স প্রকল্পগুলি পড়েন তাহলে আপনি দেখতে পাবেন যে সবচেয়ে সাধারণ সংস্করণটি হল map
.
এটি ব্যবহার করুন।
একটি সূচকের সাথে মানচিত্র কীভাবে ব্যবহার করবেন
আপনার যদি আপনার মানগুলির সাথে একটি সূচকের প্রয়োজন হয় তবে আপনি with_index
ব্যবহার করতে পারেন পদ্ধতি।
এখানে একটি উদাহরণ আছে :
array = %w(a b c) array.map.with_index { |ch, idx| [ch, idx] } # [["a", 0], ["b", 1], ["c", 2]]
বোনাস টিপ :
আপনি with_index
-এ একটি প্যারামিটার পাস করতে পারেন আপনি যদি সূচক 0 থেকে শুরু করতে না চান।
রুবি ম্যাপ শর্টহ্যান্ড (মানচিত্র ও)
আপনি map
এর জন্য একটি সংক্ষিপ্ত সংস্করণ ব্যবহার করতে পারেন যখন আপনি একটি পদ্ধতিতে কল করছেন যেটির কোন যুক্তির প্রয়োজন নেই .
উদাহরণ :
["11", "21", "5"].map(&:to_i)
উদাহরণ :
["orange", "apple", "banana"].map(&:class)
এই এবং সিনট্যাক্স map
এর মধ্যে সীমাবদ্ধ নয় , এটি অন্যান্য গণনাযোগ্য পদ্ধতির সাথেও ব্যবহার করা যেতে পারে।
মানচিত্র পদ্ধতি মাইন্ডম্যাপ
ভিডিও টিউটোরিয়াল
সারাংশ
আপনি রুবি মানচিত্র পদ্ধতি এবং এটি কীভাবে ব্যবহার করবেন তা সম্পর্কে শিখেছেন! আপনি প্রতিটির মধ্যে পার্থক্য, মানচিত্র এবং সংগ্রহ সম্পর্কেও শিখেছেন।
আপনি যদি এই নিবন্ধটি পছন্দ করেন তবে আপনার রুবি বন্ধুদের সাথে শেয়ার করুন 🙂
পড়ার জন্য ধন্যবাদ!