আমি একটি অনুষ্ঠানে কিছু পরামর্শ যোগ করতে মজা পাচ্ছিলাম:
(advice-add 'executable-find :around
(lambda (f &rest args)
(apply g args)))
;;; ^
আচ্ছা, একটি টাইপো এটি স্থির করে আবার কোডের উপরে মূল্যায়ন করা। তবে এখন আমার উভয়ই আছে, সেই ফাংশনটি সম্পর্কে "সংশোধন" এবং "ভাঙা" পরামর্শ।
আমি কীভাবে এগুলি থেকে মুক্তি পাব? প্রদত্ত যা advice-remove
ফাংশন অবজেক্ট বা আশেপাশের পরামর্শ প্রয়োজন (যা এখানে খালি আছে)?
(স্পষ্টতই আমি কেবল প্রস্থান এবং পুনরায় চালু করতে পারি, তবে অন্য উপায় আছে, তাই না?)
eq
আগের ফাংশনগুলির চেয়ে একটি নতুন ফাংশন পাবেন , (২) পরামর্শ-অপসারণটি পরামর্শগুলির সাথে এটি ফাংশনটির সাথে তুলনা করবে যতক্ষণ না এটি পাওয়া যায় এক যেeq
এটি এবং যে অপসারণ, (3) এমনকি যদি পরামর্শ-সরানোর একটি ভিন্ন পরীক্ষা ব্যবহৃত, মতequal
, এটা এখনও কাজ না would কারণ একটি ল্যামডা ফর্মের বিভিন্ন মূল্যায়ন করতে চাই না কাজেequal
একে অপরকে। দেখা যাচ্ছে (1) সঠিক, তবে (2) এবং (3) ভুল: পরামর্শ-অপসারণ ব্যবহারগুলিequal
, এবং একইlambda
বার দুবার মূল্যায়ন করলেequal
ফলাফল আসে!