array-dimension
array-dimension Function
Syntax:
array-dimension array axis-number → dimension
Arguments and Values:
array—an array.
axis-number—an integer greater than or equal to zero and less than the rank of the array. dimension—a non-negative integer .
Description:
array-dimension returns the axis-number dimension1 of array. (Any fill pointer is ignored.)
Examples:
(array-dimension (make-array 4) 0) → 4
(array-dimension (make-array ’(2 3)) 1) → 3
Affected By:
None.
See Also:
array-dimensions, length
Notes:
(array-dimension array n) ≡ (nth n (array-dimensions array))
Expanded Reference: array-dimension
Basic Usage
array-dimension returns the size of a specific axis (dimension) of an array. The axis-number is zero-indexed.
;; Dimension of a 1D array (only axis 0)
(array-dimension (make-array 7) 0)
=> 7
;; Dimensions of a 2D array
(let ((m (make-array '(3 5))))
(list (array-dimension m 0) ; rows
(array-dimension m 1))) ; columns
=> (3 5)
Multi-Dimensional Arrays
For higher-rank arrays, each axis is queried independently.
(let ((a (make-array '(2 3 4))))
(list (array-dimension a 0)
(array-dimension a 1)
(array-dimension a 2)))
=> (2 3 4)
Fill Pointer Is Ignored
array-dimension returns the actual allocated size, not the fill pointer value.
(let ((v (make-array 10 :fill-pointer 3)))
(list (array-dimension v 0) ; actual size
(length v))) ; fill pointer value
=> (10 3)
Relationship to array-dimensions
array-dimension on axis n is equivalent to the nth element of the list returned by array-dimensions.
(let ((a (make-array '(4 6))))
(equal (array-dimension a 1)
(nth 1 (array-dimensions a))))
=> T