এমন অনেকগুলি ব্যবহার এবং স্থান থাকতে পারে যেখানে আমরা ব্যবহার করতে সক্ষম হতে পারি tap। এখন পর্যন্ত আমি কেবল নিম্নলিখিত 2 টির ব্যবহার খুঁজে পেয়েছি tap।
1) এই পদ্ধতির প্রাথমিক উদ্দেশ্যটি একটি চেইনের অভ্যন্তরের মধ্যবর্তী ফলাফলগুলিতে ক্রিয়াকলাপ সম্পাদনের জন্য কোনও পদ্ধতি শৃঙ্খলে ট্যাপ করা । অর্থাত
(1..10).tap { |x| puts "original: #{x.inspect}" }.to_a.
tap { |x| puts "array: #{x.inspect}" }.
select { |x| x%2 == 0 }.
tap { |x| puts "evens: #{x.inspect}" }.
map { |x| x*x }.
tap { |x| puts "squares: #{x.inspect}" }
2) আপনি কি কখনও নিজেকে আবিষ্কার করেছেন যে কোনও উপায়ে কোনও পদ্ধতিতে কল করছেন, এবং ফেরতের মান আপনি যা চান তা হচ্ছে না? হতে পারে আপনি একটি হ্যাশে সঞ্চিত প্যারামিটারের সেটগুলিতে একটি স্বেচ্ছাচারিত মান যুক্ত করতে চেয়েছিলেন। আপনার সাথে এটি আপডেট হ্যাশ। [] , কিন্তু আপনি ফিরে পেতে বার প্যারাম হ্যাশ পরিবর্তে তাই আপনি এটি স্পষ্টভাবে ফিরে যেতে হবে। অর্থাত
def update_params(params)
params[:foo] = 'bar'
params
end
এখানে এই পরিস্থিতি কাটিয়ে উঠতে, tapপদ্ধতিটি কার্যকর হয়। কেবলমাত্র এটিতে কল করুন, তারপরে আপনি যে কোডটি চালাতে চেয়েছিলেন তাতে একটি ব্লক ট্যাপ করুন। অবজেক্টটি ব্লকে পাওয়া যাবে, তারপরে ফিরে আসবে। অর্থাত
def update_params(params)
params.tap {|p| p[:foo] = 'bar' }
end
অন্যান্য কয়েক ডজন ব্যবহারের কেস রয়েছে, সেগুলি নিজেই খোঁজার চেষ্টা করুন :)
উত্স:
1) এপিআই ডক অবজেক্ট ট্যাপ
2) পাঁচটি রুবি-পদ্ধতি-আপনাকে ব্যবহার করা উচিত
User.new.tap &:foobar