배열은 Ada에서 또 다른 기본적인 복합 타입(composite types) 계열을 제공합니다.
배열 타입 선언
Ada의 배열은 요소들의 연속적인 모음을 정의하는 데 사용되며, 이 요소들은 인덱싱(indexing)으로 선택될 수 있습니다. 다음은 간단한 예제입니다:
with Ada.Text_IO; use Ada.Text_IO;
procedure Greet is
type My_Int is range 0 .. 1000;
type Index is range 1 .. 5;
type My_Int_Array is
array (Index) of My_Int;
-- ^ 요소의 타입
-- ^ 배열의 경계
Arr : My_Int_Array := (2, 3, 5, 7, 11);
-- ^ 배열 리터럴(literal)
-- (애그리게이트)
V : My_Int;
begin
for I in Index loop
V := Arr (I);
-- ^ I번째 요소를 가져옴
Put (My_Int'Image (V));
end loop;
New_Line;
end Greet;
Code language: Ada (ada)
먼저 주목할 점은 우리가 배열의 크기 대신 인덱스 타입(index type)을 명시한다는 것입니다. 여기서 우리는 1
부터 5
까지의 범위를 갖는 Index
라는 이름의 정수 타입을 선언했으므로, 각 배열 인스턴스(instance)는 5개의 요소를 가질 것이며, 첫 번째 요소는 인덱스 1에, 마지막 요소는 인덱스 5에 위치하게 됩니다.
이 예제에서는 인덱스로 정수 타입을 사용했지만, Ada는 더 일반적입니다: 모든 이산 타입(discrete type)이 배열 인덱스로 허용되며, 여기에는 열거 타입도 포함됩니다. 이것이 무엇을 의미하는지는 곧 보게 될 것입니다.
이 문서는 ‘Introduction to Ada'(저자: Raphaël Amiard, Gustavo A. Hoffmann, © AdaCore 2018–2024)를 Google Gemini가 한국어로 번역한 것입니다. 원저작물과 동일하게 CC BY 4.0 라이선스가 적용됩니다.
답글 남기기