Menu
Coddy logo textTech

map 연결하기

Coddy Ruby 여정의 로직 및 흐름 섹션에 포함된 레슨. 56개 중 22번째.

기초에서 map을 배웠습니다. map은 각 요소를 변환하여 새 배열을 만듭니다. select, reject 및 관련 메서드와 연결해서 사용할 때 진정한 강력함을 발휘합니다.

각 메서드는 배열을 반환하므로, 결과에 다른 메서드를 호출하면 계속 이어서 처리할 수 있습니다:

numbers = [1, 2, 3, 4, 5]
result = numbers
  .select { |n| n.odd? }
  .map    { |n| n * 10 }
puts result.inspect   # [10, 30, 50]

chain을 위에서 아래로 읽으세요: numbers로 시작하고, odd인 항목만 유지한 다음, 각각에 10을 곱합니다. 임시 변수도, loop도 없습니다.

단축 표현 &:method_name은 블록이 하나의 메서드만 호출할 때 작동합니다:

["hi", "yo"].map { |s| s.upcase }   # ["HI", "YO"]
["hi", "yo"].map(&:upcase)         # ["HI", "YO"]  (같음)

이 축약형은 Ruby 코드 어디에서나 사용됩니다. 보이면 알아보세요.

challenge icon

챌린지

쉬움

쉼표로 구분된 단어 목록을 읽습니다. 3자보다 긴 단어를 대문자로 변환하고 , 로 연결하여 한 줄에 출력합니다.

하나의 체인으로 작성하세요. 긴 단어를 select하고, &:upcase를 사용해 map한 다음 join하세요.

입력이 hi,hello,yo,coddy,sup인 경우 출력은 다음과 같습니다.

HELLO, CODDY

직접 해보기

words = gets.chomp.split(",")

# TODO: select + map(&:upcase) + join을 체이닝하세요
quiz icon실력 점검

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

로직 및 흐름의 모든 레슨

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