ARRAY-DIMENSION — 특정 차원의 크기

ARRAY-DIMENSION — 특정 차원의 크기

ARRAY-DIMENSION은 함수예요. 배열의 특정 축(차원) 하나의 크기를 알려줘요. 배열이 여러 축을 가질 때, "이 배열의 0번째 축은 몇 칸이지?"처럼 특정 축만 궁금할 때 써요.

출처: CLHS Function ARRAY-DIMENSION

본문

시그니처는 이렇게 생겼어요.

array-dimension array axis-number => dimension
  • array — 배열.
  • axis-number — 0 이상이고 배열의 rank보다 작은 정수.
  • dimension — 음이 아닌 정수.

동작은 이렇습니다. array-dimensionarrayaxis-number 번째 차원 크기를 돌려줘요. 배열에 필 포인터가 있어도 무시해요.

(array-dimension (make-array 4) 0) => 4
(array-dimension (make-array '(2 3)) 1) => 3

첫 번째는 한 축 배열이라 0번 축 크기가 4예요. 두 번째는 (2 3) 배열에서 1번 축 크기를 물었으니 3이 나오죠. 축 번호는 0부터 시작한다는 점만 기억하면 돼요.

인자가 배열이 아니면 type-error 타입 오류를 신호해야 해요. 모든 축을 한 번에 보고 싶다면 array-dimensions가 더 편해요. array-dimension은 다음처럼 nth로도 표현할 수 있어요.

(array-dimension array n) == (nth n (array-dimensions array))

관련 함수로는 array-dimensions, length가 있어요.