배열 단축 표기법
Coddy Ruby 여정의 기초 섹션에 포함된 레슨 — 88개 중 64번째.
Ruby는 특히 문자열이나 연속된 숫자를 다룰 때 배열을 생성하기 위한 편리한 단축 방식을 제공합니다. 이러한 단축 방식들은 시간을 절약해 주고 코드를 더 깔끔하게 만들어 줍니다.
%w 구문은 따옴표나 쉼표 없이 문자열 배열을 생성합니다:
fruits = %w[apple banana cherry]
puts fruits # 출력: apple, banana, cherry이것은 ["apple", "banana", "cherry"]를 작성하는 것과 동일하지만 훨씬 더 간결합니다. 공백으로 구분된 각 단어는 별개의 요소가 됩니다.
심볼 배열의 경우, %i를 사용합니다:
statuses = %i[pending active completed]
puts statuses # 출력: pending, active, completed연속된 숫자의 배열을 생성하려면, to_a를 사용하여 범위를 배열로 변환할 수 있습니다:
numbers = (1..5).to_a
puts numbers # 출력: 1, 2, 3, 4, 5또한 배열 대괄호 안에서 스플랫 연산자 *를 사용할 수 있습니다:
countdown = [*5..10]
puts countdown # 출력: 5, 6, 7, 8, 9, 10이러한 단축키는 따옴표와 쉼표로 인한 시각적 복잡함 없이 알려진 값의 목록을 빠르게 정의해야 할 때 특히 유용합니다.
챌린지
쉬움두 개의 입력을 읽으십시오:
- 공백으로 구분된 단어들이 포함된 한 줄 (예:
red green blue yellow) - 범위를 나타내는 쉼표로 구분된 두 개의 정수 (예:
3,7)
다음 작업을 수행하십시오:
- 첫 번째 입력에서
split을 사용하여 문자열 배열을 생성하십시오. 입력이 이미 문자열이므로 먼저split을 사용하여 배열로 변환한 다음,alpha,beta,gamma단어를 포함하는 별도의 배열을 만들어%w단축 구문을 시연하십시오. %i를 사용하여start,middle,end값을 가진 심볼 배열을 생성하십시오.- 두 번째 입력에서 제공된 범위를 사용하여 배열 대괄호 안에서 스플랫 연산자
*를 이용해 연속된 숫자 배열을 생성하십시오.
다음 내용을 각각 별도의 줄에 출력하십시오:
- 입력받은 단어 배열의 각 요소
- 빈 줄 하나
%w배열의 각 요소 (alpha, beta, gamma)- 빈 줄 하나
%i심볼 배열의 각 요소- 빈 줄 하나
- 숫자 범위 배열의 각 요소
예를 들어, 입력이 red green blue와 1,5라면 출력은 다음과 같아야 합니다:
red
green
blue
alpha
beta
gamma
start
middle
end
1
2
3
4
5입력이 sun moon star와 10,13이라면 출력은 다음과 같아야 합니다:
sun
moon
star
alpha
beta
gamma
start
middle
end
10
11
12
13치트 시트
Ruby는 코드를 더 깔끔하고 간결하게 만들어주는 배열 생성 단축키를 제공합니다.
%w 구문은 따옴표나 쉼표 없이 문자열 배열을 생성합니다:
fruits = %w[apple banana cherry]
# ["apple", "banana", "cherry"]와 동일함%i 구문은 심볼 배열을 생성합니다:
statuses = %i[pending active completed]
# [:pending, :active, :completed]와 동일함to_a를 사용하여 범위를 배열로 변환합니다:
numbers = (1..5).to_a
# [1, 2, 3, 4, 5]를 생성함배열 대괄호 안에 스플랫 연산자 *를 사용하여 범위로부터 배열을 생성합니다:
countdown = [*5..10]
# [5, 6, 7, 8, 9, 10]을 생성함직접 해보기
# 공백으로 구분된 단어들을 읽습니다
words_input = gets.chomp
# 범위를 읽습니다 (쉼표로 구분된 두 개의 정수)
range_input = gets.chomp
# TODO: 아래에 코드를 작성하세요
# 1. split을 사용하여 words_input으로부터 배열을 생성합니다
# 2. alpha, beta, gamma를 포함하는 %w 배열을 생성합니다
# 3. start, middle, end를 포함하는 %i 배열을 생성합니다
# 4. 범위를 파싱하고 스플랫 연산자(*)를 사용하여 배열을 생성합니다
# 각 배열의 요소를 별도의 줄에 출력하고 배열 사이에 빈 줄을 넣습니다이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.