প্রশ্ন: কোনও সম্পত্তি তালিকার জুড়ে কোনও ফাংশন ম্যাপ করার অলঙ্কৃত উপায় কী?
বিভিন্ন ম্যাপিং ফাংশন ( mapcar
এবং পরিবার) একটি ক্রম যেমন একটি তালিকার উপরে একটি ফাংশন মানচিত্র করে। কোনও সম্পত্তি তালিকার সাথে কাজ করার সময় এই ফাংশনগুলি কীভাবে ব্যবহার করা যায় , যখন তালিকায় থাকা প্রতিটি সম্পত্তি জুড়ে ম্যাপ করার চেষ্টা করার সময় (যা প্রথমটি থেকে শুরু করে প্রতিটি উপাদান হবে)? আমার কাছে মনে হচ্ছে ম্যাপিং ফাংশনটির জন্য পৃথক উপাদানগুলির পরিবর্তে উপাদানগুলির জোড়াতে তালিকাটি অ্যাক্সেস করা দরকার।
খেলনার উদাহরণ হিসাবে, কেউ কীভাবে একটি সম্পত্তি তালিকা গ্রহণ করবে এবং সমস্ত সম্পত্তি মান সংগ্রহ করবে? পরিবর্তে এটি যদি সমিতির তালিকা হত তবে এটি বেশ সহজ হবে:
(mapcar #'cadr '((:prop1 a) (:prop2 b) (:prop3 c))) ;=> (a b c)
আমি নিশ্চিত যে এটি একটি লুপ দিয়ে সম্পন্ন করা যেতে পারে তবে এটি কিছুটা শ্রমসাধ্য বলে মনে হচ্ছে এবং আমি আরও অবাক হয়েছি যে এটি করার আরও কোনও বুদ্ধিমান উপায় নেই।
mapcar
উদাহরণটি দেখায়) মানচিত্র করতে চান কিনা তা দয়া করে স্পষ্ট করুন বা সম্পত্তি চিহ্ন এবং সম্পত্তি মানের জোড়গুলির উপর আপনি ম্যাপ করতে চান। পরেরটি আরও সাধারণ (আরও সাধারণভাবে দরকারী), আমি অনুমান করব।