ধরুন আমি এর মতো একটি এসোসিয়েট-তালিকা পেয়েছি:
(setq x '((foo . ((bar . "llama")
(baz . "monkey")))))
এবং আমি মান চাই bar। আমি এটা করতে পারবো:
(assoc-default 'bar (assoc-default 'foo x))
তবে আমি যা চাই তা হ'ল এমন কিছু যা একাধিক কী গ্রহণ করে, যেমন
(assoc-multi-key 'foo 'bar x)
এই জাতীয় জিনিসটি কি সম্ভবত কোথাও প্যাকেজে রয়েছে? আমি নিশ্চিত যে আমি এটি লিখতে পেরেছি তবে আমার গুগল-ফু কেবল ব্যর্থ হচ্ছে এবং আমি এটি খুঁজে পাচ্ছি না বলে মনে হচ্ছে।
setqবিভ্রান্তিকর উদাহরণেও ফর্মটির মূল ফর্ম্যাটিংটি পেয়েছি , তাই আমি এটি সম্পাদনা করে এসোস-তালিকাগুলির জন্য সাধারণ ডট-নোটেশনটি ব্যবহার করতে।
assoc-multi-keyঅনির্ধারিত থেকে যায়।
assoc-multi-keyহ'ল এসোস-তালিকার প্রথম কীটি সন্ধান করা। এটি এমন একটি নতুন এসোসিয়েশন-তালিকার সমাধান করতে হবে যেখানে আমরা পরবর্তী কীটি সন্ধান করব। এবং তাই এগিয়ে। নেস্টেড এসোসিয়েশন-তালিকার বাইরে মানগুলি খননের জন্য মূলত একটি শর্ট হ্যান্ড।
let-alistআপনিও উল্লেখ করতে পারেন? যেমন (let-alist '((foo . ((bar . "llama") (baz . "monkey")))) .foo.bar)ফিরে আসবে "llama"। আমার ধারণা আপনি let-alistপ্রশ্নটি জিজ্ঞাসা করার পরে লিখেছিলেন , তবে এটি প্রশ্নের উদ্বেগ এবং আইএমওর উল্লেখ করার পক্ষে খুব মূল্যবান!
assoc-multi-key। সম্ভবত এটি তার প্রথম দুটি যুক্তির উভয়ের সাথেই ম্যাচগুলির সন্ধান করে তবে আপনি যা বলেছিলেন তা থেকে সত্যই এটাই মনে করা যায় one এবং এটি স্পষ্টত দুটি টির বেশি চাবি গ্রহণ করতে পারে না, কারণ অ্যালিস্ট আর্গুমেন্ট (সম্ভবতঃx) প্রথমটি নয়, প্রথমটি - যা প্রস্তাব দেয় যে এটি সাধারণভাবে খুব বেশি কার্যকর নয়। আপনি যা খুঁজছেন তা উল্লেখ করার চেষ্টা করুন ।