실습: 배열 종합 - 추가, 조회, 제거
이번 실습에서는 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 로 이루어진 작은 레지스트리가 됩니다.
지금까지 배운 배열 연산을 모두 활용해 정수 목록을 관리하는 컨트랙트를 완성해봅시다.
해야 할 일:
ItemRegistry컨트랙트 안에items라는uint256[]public 배열을 선언하세요.addItem함수: 값을items끝에push하세요.removeLast함수:items의 마지막 요소를pop으로 제거하세요.getItem함수: 인덱스i를 받아items[i]를 반환하세요. (view, returns (uint256))total함수:items.length를 반환하세요. (view, returns (uint256))
빈 배열에 pop 을 호출하면 revert 됩니다. 테스트할 때는 먼저 요소를 추가하세요.
완성 후 Run 을 눌러 모든 조건을 통과하는지 확인하세요.