Range란 무엇인가요?
Coddy Ruby 여정의 로직 및 흐름 섹션에 포함된 레슨 — 56개 중 6번째.
이미 for 루프와 배열 슬라이싱에서 범위를 사용해 보셨을 것입니다. 하지만 범위는 단순한 구문이 아니라 실제 Ruby 객체이며, 자체적인 메서드를 가지고 있습니다.
..(두 개의 점, 끝값 포함) 또는 ...(세 개의 점, 끝값 제외)을 사용하여 생성합니다:
inclusive = 1..5 # 1, 2, 3, 4, 5
exclusive = 1...5 # 1, 2, 3, 4to_a를 사용하여 범위를 배열로 변환하면 해당 범위가 무엇을 포함하는지 정확히 확인할 수 있습니다:
puts (1..5).to_a.inspect # [1, 2, 3, 4, 5]
puts (1...5).to_a.inspect # [1, 2, 3, 4]범위(Range)는 숫자만을 위한 것이 아닙니다. 문자를 포함하여 순서가 있는 모든 것과 함께 사용할 수 있습니다:
puts ("a".."e").to_a.inspect # ["a", "b", "c", "d", "e"]챌린지
초급두 개의 정수(두 줄의 입력) start와 end_value를 읽습니다. 세 줄을 출력합니다:
- 포함 범위
start..end_value를 배열로 출력합니다 (inspect를 사용하세요) - 제외 범위
start...end_value를 배열로 출력합니다 - 포함 범위의 크기를 출력합니다
입력이 1이고 그 다음이 5일 때, 출력은 다음과 같습니다:
[1, 2, 3, 4, 5]
[1, 2, 3, 4]
5치트 시트
Ruby에서 범위(Range)는 ..(끝 포함) 또는 ...(끝 제외)를 사용합니다:
inclusive = 1..5 # 1, 2, 3, 4, 5
exclusive = 1...5 # 1, 2, 3, 4to_a를 사용하여 범위를 배열로 변환합니다:
puts (1..5).to_a.inspect # [1, 2, 3, 4, 5]
puts (1...5).to_a.inspect # [1, 2, 3, 4]범위는 문자에도 사용할 수 있습니다:
puts ("a".."e").to_a.inspect # ["a", "b", "c", "d", "e"]직접 해보기
start = gets.to_i
end_value = gets.to_i
# TODO: 포함 범위, 제외 범위, 포함 크기를 출력하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.