ฉันรู้ว่าcons
ส่งคืน seq และ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
การจัดแสดงพฤติกรรมที่แตกต่างกันหรือว่าพวกเขาใช้แทนกันได้อย่างแท้จริง? วลีต่างกันมีตัวอย่างที่ไม่สามารถใช้ list และ seq เทียบเท่ากันได้หรือไม่?