আমি জানি যে cons
একটি সেক conj
ফিরিয়ে দেয় এবং একটি সংগ্রহ ফিরিয়ে দেয়। আমি এটিও জানি যে conj
সংগ্রহটির সর্বোত্তম প্রান্তে আইটেমটি "যুক্ত" করে এবং cons
সর্বদা আইটেমটি সামনের দিকে "যুক্ত" করে। এই উদাহরণটি এই উভয় পয়েন্টকেই ব্যাখ্যা করে:
user=> (conj [1 2 3] 4) ; returns a collection
[1 2 3 4]
user=> (cons 4 [1 2 3]) ; returns a seq
(4 1 2 3)
ভেক্টর, মানচিত্র এবং সেটগুলির জন্য এই পার্থক্যগুলি আমার কাছে বোধগম্য। তবে তালিকার জন্য এগুলি অভিন্ন বলে মনে হচ্ছে।
user=> (conj (list 3 2 1) 4) ; returns a list
(4 3 2 1)
user=> (cons 4 (list 3 2 1)) ; returns a seq
(4 3 2 1)
conj
বনাম বনাম cons
বিভিন্ন আচরণের প্রদর্শন করে এমন তালিকাগুলি ব্যবহার করে এমন কোনও উদাহরণ রয়েছে বা সেগুলি সত্যই বিনিময়যোগ্য? পৃথকভাবে বাক্যাংশযুক্ত, এমন কোনও উদাহরণ রয়েছে যেখানে একটি তালিকা এবং একটি সিক সমানভাবে ব্যবহার করা যায় না?