숙제를 마무리하고 마지막 부분까지 내려 가고 있습니다. 먼저, 내가 다루고있는 타입을 보여 드리겠습니다 :Ada 문자열 연결 문자열
TYPE Book_Collection IS
RECORD
Books : Book_Collection_Array;
Max_Size : Integer;
Size : Integer;
END RECORD;
TYPE Book_Type IS
RECORD
Title,
Author,
Publisher : Title_Str;
Year : Year_Type;
Edition : Natural;
Isbn : Isbn_Type;
Price : Dollars;
Stock : Natural;
Format : Format_Type;
END RECORD;
Book_Collection_Array는 book_type의 배열입니다. 이것들은 private 형이기 (위해) 때문에, 배열은 바운드되고 있습니다 (1..200).
Book_type을 입력으로 사용하고 book_type의 모든 요소 문자열을 반환하는 별도의 패키지에 ToString이라는 함수가 있습니다. 내가 만들 필요가있는 함수는 book_collection을 매개 변수로 사용하고 제공된 book 함수에 의해 반환 된 모든 문자열을 연결하는 문자열을 그 book_collection에있는 book_type에 대해 반환하는 함수입니다. 여러 번 시도했지만 범위 검사 실패가 계속 발생했습니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?
* 편집 : 두 분 모두 도와 주셔서 감사합니다. 묶여 있지 않은 문자열을 사용하고 각 문자열을 추가 한 다음 출력 문자열을 선언하고이를 unbounded_string의 To_String과 동일한 상수 문자열로 설정합니다. *
다른 힌트 : Ada.Strings.Unbounded. @ T.E.D.와 다른 방법은 무엇입니까? 제안. – NWS
예. 일련의 단계를 거쳐 점진적으로 동일한 변수에 문자열을 작성하는 C/Java 관용구를 실제로 사용해야하는 경우에는 Java 스타일 문자열처럼 작동하는 Ada.Strings.Unbounded.Unbounded_String을 사용하는 것이 훨씬 쉽습니다 (또는 C++ std :: string). –
@ T.E.D.이 기괴한 숙제에 연결하기 위해 최대 200 개의 문자열이있을 수 있으므로 Unbounded가 반드시 가야한다고 생각합니다. Title_Str (Book_Type에서 사용 된)이 어떻게 생겼는지 궁금합니다. –