배열 슬라이싱
Coddy GDScript 여정의 기초 섹션에 포함된 레슨. 92개 중 73번째.
slice() 메서드는 요소의 일부를 포함하는 새 배열을 반환합니다. slice(begin, end)는 인덱스 begin부터 인덱스 end 직전까지의 요소를 가져옵니다:
var numbers := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers.slice(2, 6))[2, 3, 4, 5]end가 없으면 슬라이스는 배열의 끝까지 이어집니다:
print(numbers.slice(5))[5, 6, 7, 8, 9]음수 인덱스는 끝에서부터 셉니다. slice(-3)은 마지막 세 요소를 가져오고, slice(0, -2)는 마지막 두 요소를 제외한 모든 요소를 가져옵니다.
print(numbers.slice(-3))
print(numbers.slice(0, -2))[7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7]세 번째 인자인 단계는 n번째 요소마다 하나씩 가져옵니다. slice(1, 8, 2)는 인덱스 1, 3, 5, 7을 가져옵니다:
print(numbers.slice(1, 8, 2))[1, 3, 5, 7]slice()는 원래 배열을 변경하지 않습니다. numbers에는 여전히 10개의 요소가 모두 들어 있습니다.
챌린지
쉬움프로그램은 쉼표로 구분된 항목 한 줄을 배열 items에 읽어 들입니다(이미 작성되어 있음). slice()를 사용해 배열의 가운데 부분을 출력하세요:
- 항목 수가 홀수이면 가운데 항목과 양쪽에 있는 항목을 하나씩 출력합니다(3개 항목; 항목이 하나뿐이면 그 항목을 출력합니다)
- 짝수이면 가운데 항목 두 개를 출력합니다
apple,banana,orange,grape의 출력은 ["banana", "orange"]이고, a,b,c,d,e의 출력은 ["b", "c", "d"]입니다.
직접 해보기
extends Node
func _ready():
var items := OS.read_string_from_stdin().split(",")
# 가운데 항목들을 출력하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 GDScript 컴파일러