Bunun cons
bir seq conj
dö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 conj
ve cons
sergileyen 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ı?