ARRAY-DIMENSIONS — 모든 차원의 크기
ARRAY-DIMENSIONS — 모든 차원의 크기
ARRAY-DIMENSIONS는 함수예요. 배열의 모든 차원 크기를 리스트로 돌려줘요. 다차원 배열의 전체 구조를 한눈에 파악하고 싶을 때 써요.
본문
시그니처는 이렇게 생겼어요.
array-dimensions array => dimensions
- array — 배열.
- dimensions — 정수들의 리스트.
동작은 이렇습니다. array-dimensions는 array의 차원 크기들을 리스트로 돌려줘요. 배열이 필 포인터를 가진 벡터라면 그 필 포인터는 무시하고 실제 크기를 알려주죠.
(array-dimensions (make-array 4)) => (4)
(array-dimensions (make-array '(2 3))) => (2 3)
(array-dimensions (make-array 4 :fill-pointer 2)) => (4)
첫 번째는 한 축 배열이라 (4)가 나오고, 두 번째는 2×3이라 (2 3)이 돼요. 세 번째 예제가 흥미로운데요, 필 포인터가 2로 설정된 벡터여도 실제 차원 크기인 (4)를 돌려줘요. 필 포인터는 무시된다는 점이 드러나죠.
인자가 배열이 아니면 type-error 타입 오류를 신호해야 해요. 특정 축 하나만 궁금하다면 array-dimension이 더 직접적이에요.