क्षमा करें, लेकिन elisp मेरा सबसे अच्छा नहीं है। मुझे इस तरह से तार की दो सूचियों को संयोजित करने की आवश्यकता है:
("a" "b" "c") + ("d" "e" "f") -> ("a" "b" "c" "d" "e" "f")
खैर, आदेश महत्वपूर्ण नहीं है, इसलिए मैंने यह कोड लिखा है:
(while lista
(add-to-list 'listb (car lista))
(setq lista (cdr lista)))
यह काम करता है, लेकिन मैं सोच रहा हूं कि क्या कोई फ़ंक्शन है जो पहले से ही ऐसा करता है।
कोई सुराग? अग्रिम में धन्यवाद।
append
यहाँ सही उत्तर है, लेकिन ऐसा करने का एक और (विनाशकारी) तरीका होगा (setcdr (last a) b)
।
(-concat '(1) '(2 3) '(4)) ;; => '(1 2 3 4)
add-to-list
लिस्प कोड में कभी भी इसका उपयोग न करें (यह डॉकस्ट्रिंग में यह कहता है)। इसके बजाय, उपयोग करें push
।