আসুন ভুলে বিশ্বাসভাজন পুরাতন যে intoআপনি কিছু নিতে দেয় seqসক্ষম (তালিকা, ভেক্টর, মানচিত্র, সেট, সাজানো মানচিত্রে) এবং একটি খালি কন্টেইনারে আপনি ভরা চান, এবং এটা বন্ধ রাখে intoএটা।
(into [] '(1 2 3 4)) ==> [1 2 3 4] "have a lazy list and want a vector"
(into #{} [1 2 3 4]) ==> #{1 2 3 4} "have a vector and want a set"
(into {} #{[1 2] [3 4]}) ==> {3 4, 1 2} "have a set of vectors want a map"
(into #{} [{1 2} {3 4}]) ==> #{{1 2} {3 4}} "have a vector of maps want a set of maps"
intoআশেপাশের একটি মোড়ক conj, যা সংগ্রহের ধরণের ভিত্তিতে নতুন এন্ট্রিগুলি যথাযথভাবে সন্নিবেশ করানোর জন্য বেস বিমূর্ততা। ঠিক যে এই প্রবাহ যাতে সুন্দরভাবে করে তোলে Clojure মধ্যে build হয় composable বিমূর্ত এই ক্ষেত্রে intoশীর্ষে conjসংগ্রহ উপরের এবং এর seq।
উপরোক্ত উদাহরণগুলি এখনও ভালভাবে রচনা করতে পারে যদি প্রাপকটি রান সময়ে পাস করা হত: কারণ অন্তর্নিহিত বিমূর্ততা ( seqএবং conj) সমস্ত সংগ্রহের জন্য প্রয়োগ করা হয়েছে (এবং জাভা এর অনেকগুলি সংগ্রহও), তাই উচ্চতর বিমূর্ততাগুলি উদ্বেগের দরকার নেই প্রচুর বিশেষ ডেটা সম্পর্কিত কোণার কেস সম্পর্কে about