Array concatenation: Difference between revisions

Content added Content deleted
m (moved to Common Lisp)
Line 665: Line 665:
<lang lisp>(concatenate 'vector #(0 1 2 3) #(4 5 6 7))
<lang lisp>(concatenate 'vector #(0 1 2 3) #(4 5 6 7))
=> #(0 1 2 3 4 5 6 7)</lang>
=> #(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}}==
=={{header|Component Pascal}}==
Line 1,664: Line 1,687:
put a
put a
-- [1, 2, 3, 4, 5]</lang>
-- [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}}==
=={{header|Little}}==