기본 매개변수 값
Coddy Ruby 여정의 기초 섹션에 포함된 레슨. 88개 중 53번째.
인수가 제공되지 않았을 때 메서드가 적절한 기본값을 사용하도록 하고 싶을 때가 있습니다. 기본 매개변수 값을 사용하면 호출하는 쪽에서 값을 지정하지 않았을 때 매개변수에 사용할 값을 정의할 수 있습니다.
기본값을 설정하려면 매개변수 이름 뒤에 = 기호를 사용하세요:
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) # 출력: 25 (5의 제곱)
puts power(2, 3) # 출력: 8 (2의 세제곱)이렇게 하면 메서드가 더 유연해집니다. 호출하는 쪽에서는 필수 정보만 제공하고, 선택적인 세부 정보는 합리적인 기본값을 사용하도록 할 수 있습니다.
챌린지
쉬움multiply라는 메서드를 정의하세요. 이 메서드는 a와 b라는 두 매개변수를 받습니다. 매개변수 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: 매개변수 b의 기본값이 1인 multiply 메서드를 정의합니다
# TODO: b_input이 "none"인지 숫자인지에 따라 메서드를 적절히 호출합니다
# b_input이 "none"이면 a만 전달하여 multiply를 호출합니다
# b_input이 숫자이면 a와 b를 모두 전달하여 multiply를 호출합니다
# 결과를 출력합니다
puts result이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 Ruby 컴파일러