기본 매개변수 값
Coddy Ruby 여정의 기초 섹션에 포함된 레슨 — 88개 중 53번째.
때때로 인수가 제공되지 않을 때 메서드가 합리적인 폴백(fallback)을 갖기를 원할 수 있습니다. 기본 매개변수 값(Default parameter values)을 사용하면 호출자가 매개변수를 지정하지 않았을 때 해당 매개변수가 가져야 할 값을 정의할 수 있습니다.
기본값을 설정하려면 매개변수 이름 뒤에 = 기호를 사용하세요:
def greet(name = "friend")
puts "Hello, #{name}!"
end
greet("Alice") # 출력: Hello, Alice!
greet # 출력: Hello, friend!인자 없이 greet를 호출하면 Ruby는 "friend"를 기본값으로 사용합니다. 인자를 제공하면 그 인자가 기본값을 덮어씁니다.
일반 매개변수와 기본값이 있는 매개변수를 혼합하여 사용할 수 있지만, 기본값이 있는 매개변수는 반드시 기본값이 없는 매개변수 뒤에 위치해야 합니다:
def power(base, exponent = 2)
base ** exponent
end
puts power(5) # Outputs: 25 (5 squared)
puts power(2, 3) # Outputs: 8 (2 cubed)이것은 메서드를 더 유연하게 만듭니다. 호출자는 필수 정보만 제공할 수 있으며, 선택적인 세부 사항은 적절한 기본값으로 대체됩니다.
챌린지
쉬움두 개의 매개변수 a와 b를 받는 multiply라는 메서드를 정의하세요. 매개변수 b는 기본값으로 1을 가져야 합니다. 이 메서드는 a와 b의 곱을 반환해야 합니다.
입력으로부터 두 개의 정수를 읽습니다:
- 첫 번째 숫자 (항상 제공됨)
- 두 번째 숫자 (제공될 수도 있고 제공되지 않을 수도 있음)
입력이 하나만 제공되면, 해당 인자만 사용하여 메서드를 호출합니다 (b에 기본값 사용). 두 개의 입력이 제공되면, 두 인자를 모두 사용하여 메서드를 호출합니다.
메서드 호출 결과를 출력하세요.
입력 형식은 다음과 같습니다:
- 첫 번째 줄: 첫 번째 숫자
- 두 번째 줄: 숫자 또는
none이라는 단어
예를 들어, 입력이 7과 3인 경우:
21입력이 5와 none인 경우:
5입력이 12와 4인 경우:
48치트 시트
기본 매개변수 값은 인수가 제공되지 않을 때 대체 값을 제공합니다. 매개변수 이름 뒤에 = 기호를 사용하여 기본값을 설정하세요:
def greet(name = "friend")
puts "Hello, #{name}!"
end
greet("Alice") # 출력: Hello, Alice!
greet # 출력: Hello, friend!기본값이 있는 매개변수는 기본값이 없는 매개변수 뒤에 와야 합니다:
def power(base, exponent = 2)
base ** exponent
end
puts power(5) # 출력: 25 (5의 제곱)
puts power(2, 3) # 출력: 8 (2의 세제곱)직접 해보기
# 입력 읽기
a = gets.chomp.to_i
b_input = gets.chomp
# TODO: 매개변수 b의 기본값이 1인 multiply 메서드를 정의하세요
# TODO: b_input이 "none"인지 아니면 숫자인지에 따라 적절하게 메서드를 호출하세요
# b_input이 "none"이면 a만 사용하여 multiply를 호출하세요
# b_input이 숫자이면 a와 b를 모두 사용하여 multiply를 호출하세요
# 결과 출력
puts result이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.