Array concatenation: Difference between revisions

Content added Content deleted
m (moved to Common Lisp)
Line 665:
<lang lisp>(concatenate 'vector #(0 1 2 3) #(4 5 6 7))
=> #(0 1 2 3 4 5 6 7)</lang>
===Alternate solution===
I use [https://franz.com/downloads/clp/survey Allegro CL 10.1]
 
<lang lisp>
(setf arr1 (make-array '(3) :initial-contents '(1 2 3)))
(setf arr2 (make-array '(3) :initial-contents '(4 5 6)))
(setf arr3 (make-array '(3) :initial-contents '(7 8 9)))
(setf arr4 (make-array '(6)))
(setf arr5 (make-array '(9)))
(setf arr4 (concatenate `(vector ,(array-element-type arr1)) arr1 arr2))
(format t "~a" "concatenate arr1 and arr2: ")
(write arr4)
(terpri)
(setf arr5 (concatenate `(vector ,(array-element-type arr1)) arr4 arr3))
(format t "~a" "concatenate arr4 and arr3: ")
(write arr5)
(terpri)
</lang>
Output:
<pre>
concatenate arr1 and arr2: #(1 2 3 4 5 6)
concatenate arr4 and arr3: #(1 2 3 4 5 6 7 8 9)
</pre>
 
=={{header|Component Pascal}}==
Line 1,664 ⟶ 1,687:
put a
-- [1, 2, 3, 4, 5]</lang>
 
=={{header|Lisp}}==
 
I use [https://franz.com/downloads/clp/survey Allegro CL 10.1]
 
<lang lisp>
(setf arr1 (make-array '(3) :initial-contents '(1 2 3)))
(setf arr2 (make-array '(3) :initial-contents '(4 5 6)))
(setf arr3 (make-array '(3) :initial-contents '(7 8 9)))
(setf arr4 (make-array '(6)))
(setf arr5 (make-array '(9)))
(setf arr4 (concatenate `(vector ,(array-element-type arr1)) arr1 arr2))
(format t "~a" "concatenate arr1 and arr2: ")
(write arr4)
(terpri)
(setf arr5 (concatenate `(vector ,(array-element-type arr1)) arr4 arr3))
(format t "~a" "concatenate arr4 and arr3: ")
(write arr5)
(terpri)
</lang>
Output:
<pre>
concatenate arr1 and arr2: #(1 2 3 4 5 6)
concatenate arr4 and arr3: #(1 2 3 4 5 6 7 8 9)
</pre>
 
=={{header|Little}}==