0Pricing
Ruby Academy · 강의

Find 패턴과 가드

매칭 안의 조건을 다룹니다

Find 패턴과 가드은(는) CoddyKit의 무료 Ruby Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Ruby Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Ruby Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

가드 조건

패턴에 if 또는 unless 가드를 추가하십시오. 패턴과 조건이 모두 성공할 때만 분기가 일치합니다.

case 7
in Integer => n if n.odd?
  puts 'odd integer'
end

가드는 연결된 변수를 사용합니다

가드에서는 패턴으로 연결한 변수를 참조할 수 있으므로, 일치한 데이터에 대한 다양한 조건을 표현할 수 있습니다.

case [4, 9]
in [a, b] if a < b
  puts 'ascending pair'
end

unless 가드

unless 가드는 조건이 거짓일 때 일치하며, if의 반대입니다.

case 0
in Integer => n unless n.positive?
  puts 'zero or negative'
end

여러 가드 분기

분기마다 가드를 결합하여 명확한 의사 결정 단계를 만들 수 있습니다.

def grade(score)
  case score
  in Integer => s if s >= 90 then 'A'
  in Integer => s if s >= 70 then 'B'
  else 'C'
  end
end
puts(grade(85))

검색 패턴

검색 패턴 [*, x, *]은 양쪽 끝의 스플랫을 사용하여 배열 내부 어디에서든 하위 패턴을 찾습니다.

case [1, 2, 3, 4]
in [*, 3, *]
  puts 'contains a 3'
end

검색 중 바인딩

검색 패턴에서 일치한 요소를 변수에 연결하여 찾은 값을 가져올 수 있습니다.

case [10, 20, 30]
in [*, x, *] if x > 25
  puts("found #{x}")
end

주변 요소 가져오기

검색 패턴의 두 스플랫에 모두 이름을 지정하여 일치한 요소의 앞과 뒤에 있는 요소를 가져올 수 있습니다.

case [1, 2, 99, 4, 5]
in [*before, 99, *after]
  p before
  p after
end

형식이 지정된 요소 찾기

검색 패턴을 형식 패턴과 결합하면 지정한 형식의 첫 번째 요소를 찾을 수 있습니다.

case [1, 'hi', 2]
in [*, String => word, *]
  puts(word)
end

가드와 패턴 비교

패턴에서 구조적으로 표현할 수 있는 것은 패턴으로 표현하고, 패턴으로 담을 수 없는 조건(숫자 비교나 메서드 호출 등)에만 가드를 사용하십시오.

case { role: 'admin', age: 40 }
in { role: 'admin', age: } if age >= 18
  puts 'adult admin'
end

검색과 가드 결합

검색 패턴과 가드를 함께 사용하면 어떤 요소라도 이 조건을 만족하는지 확인할 수 있습니다.

numbers = [3, 5, 8, 11]
case numbers
in [*, n, *] if n.even?
  puts("first even-ish hit: #{n}")
end

분기 순서

분기는 위에서 아래 순서로 시도하며, 가장 먼저 일치하는 분기가 선택됩니다. 더 구체적인 가드 패턴을 일반적인 패턴보다 앞에 배치하십시오.

case 100
in Integer => n if n > 50 then puts 'big'
in Integer then puts 'small'
end

빠른 확인

검색 패턴 [*, x, *]은 무엇을 합니까?

복습: 검색 패턴과 가드

패턴 일치에 조건과 검색을 추가했습니다:

  • 가드 if / unless는 패턴을 더 구체화합니다
  • 가드에서 연결된 변수를 사용할 수 있습니다
  • 검색 패턴 [*, x, *]은 어디에서든 검색합니다
  • 두 스플랫 모두 이름을 지정하여 주변 요소를 가져올 수 있습니다
  • 가장 먼저 일치하는 분기가 선택되므로 순서가 중요합니다
case [1, 7, 3]
in [*, x, *] if x > 5 then puts x
end

자주 묻는 질문

“Find 패턴과 가드” 강의는 무료인가요?

네 — “Find 패턴과 가드” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Ruby Academy 강의 전체를 잠금 해제할 수 있습니다. Ruby Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“Find 패턴과 가드”에서 뭘 배우나요?

매칭 안의 조건을 다룹니다 브라우저에서 직접 실행하는 실습 코드로 Ruby Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Ruby Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Ruby Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“Find 패턴과 가드” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Ruby Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Ruby Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. case/in 기초
  2. 배열과 해시 패턴
  3. Find 패턴과 가드
  4. 실전 사용 사례
← Ruby Academy(으)로 돌아가기