블록체인 학습
0 XP

실습: 배열 종합 - 추가, 조회, 제거

이번 실습에서는 Chapter 7에서 배운 배열 연산을 한 컨트랙트에 모두 모읍니다. push로 추가하고, 인덱스로 조회하고, pop으로 제거하고, length로 개수를 세는 네 가지 동작을 함께 구현합니다.

사용할 연산 정리

  • push: items.push(value) 로 끝에 값을 추가하면 length가 1 늘어납니다.
  • 인덱스 접근: items[i] 는 0부터 시작하는 인덱스로 요소를 읽습니다.
  • pop: items.pop() 으로 마지막 요소를 제거하면 length가 1 줄어듭니다.
  • length: items.length 는 현재 요소 개수입니다.

역할을 함수별로 나누면 값을 등록하는 addItem, 마지막 항목을 취소하는 removeLast, 항목과 개수를 조회하는 getItem·total 로 이루어진 작은 레지스트리가 됩니다.

지금까지 배운 배열 연산을 모두 활용해 정수 목록을 관리하는 컨트랙트를 완성해봅시다.

해야 할 일:

  1. ItemRegistry 컨트랙트 안에 items 라는 uint256[] public 배열을 선언하세요.
  2. addItem 함수: 값을 items 끝에 push 하세요.
  3. removeLast 함수: items 의 마지막 요소를 pop 으로 제거하세요.
  4. getItem 함수: 인덱스 i 를 받아 items[i] 를 반환하세요. (view, returns (uint256))
  5. total 함수: items.length 를 반환하세요. (view, returns (uint256))

빈 배열에 pop 을 호출하면 revert 됩니다. 테스트할 때는 먼저 요소를 추가하세요.

완성 후 Run 을 눌러 모든 조건을 통과하는지 확인하세요.

Code Editor
에디터를 불러오는 중...
실행 결과

Run 버튼을 눌러 코드를 실행하세요.