Bunun consbir seq conjdöndürdüğünü ve bir koleksiyon döndürdüğünü biliyorum . Ayrıca conj, öğeyi koleksiyonun optimum sonuna cons"eklediğini" ve öğeyi her zaman öne "eklediğini" de biliyorum . Bu örnek, bu noktaların her ikisini de göstermektedir:
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)
Vektörler, haritalar ve kümeler için bu farklılıklar bana mantıklı geliyor. Ancak listeler için aynı görünüyorlar.
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)
Farklı davranışlar sergileyen conjve conssergileyen listeleri kullanan herhangi bir örnek var mı yoksa bunlar gerçekten değiştirilebilir mi? Farklı bir şekilde ifade edilirse, bir liste ve bir sekansın eşit olarak kullanılamayacağı bir örnek var mı?