Menu
CoddyTech

배열 슬라이싱

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개의 요소가 모두 들어 있습니다.

challenge icon

챌린지

쉬움

프로그램은 쉼표로 구분된 항목 한 줄을 배열 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(",")
	# 가운데 항목들을 출력하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: 온라인 GDScript 컴파일러