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