반환값
Coddy Ruby 여정의 기초 섹션에 포함된 레슨 — 88개 중 50번째.
지금까지 우리의 메서드들은 출력을 프린트하는 것과 같은 동작을 수행해 왔습니다. 하지만 메서드는 자신을 호출한 코드로 데이터를 다시 보낼 수 있을 때 진정으로 강력해집니다. 이것이 바로 반환값(return values)이 존재하는 이유입니다.
Ruby에서 메서드는 마지막 표현식의 값을 자동으로 반환합니다:
def add(a, b)
a + b
end
result = add(5, 3)
puts result # 출력: 8메서드 내부에 puts가 없다는 점에 유의하세요. 대신, 메서드는 a + b를 계산하고 그 값을 반환합니다. 그런 다음 이를 변수에 저장하거나 직접 사용할 수 있습니다.
또한 return 키워드를 명시적으로 사용할 수 있습니다:
def multiply(a, b)
return a * b
end
puts multiply(4, 5) # 출력: 20return 키워드는 즉시 메서드를 종료하고 지정된 값을 반환합니다. 이는 조건에 따라 조기에 종료하고 싶을 때 유용합니다. 두 방식 모두 작동하지만, 루비 프로그래머들은 더 깔끔한 코드를 위해 종종 암시적 반환(implicit returns)에 의존합니다.
반환 값(Return values)을 사용하면 연산을 체이닝하고 단순한 메서드들로부터 복잡한 로직을 구축할 수 있습니다:
def double(n)
n * 2
end
puts double(double(3)) # 출력: 12챌린지
쉬움하나의 매개변수 n을 받아 그 수의 제곱(자기 자신을 곱한 값)을 반환하는 square라는 이름의 메서드를 정의하세요.
입력으로부터 두 개의 정수를 읽으세요. square 메서드를 사용하여 각 숫자의 제곱을 계산한 다음, 두 제곱의 합을 출력하세요.
예를 들어, 입력값이 3과 4인 경우:
- 3의 제곱은 9
- 4의 제곱은 16
- 합계는 25
출력은 다음과 같아야 합니다:
25입력값이 5와 2인 경우, 출력은 다음과 같아야 합니다:
29치트 시트
메서드는 자신을 호출한 코드로 값을 반환할 수 있습니다. Ruby에서 메서드는 마지막 표현식의 값을 자동으로 반환합니다:
def add(a, b)
a + b
end
result = add(5, 3)
puts result # 출력: 8또한 return 키워드를 명시적으로 사용하여 메서드를 종료하고 값을 반환할 수 있습니다:
def multiply(a, b)
return a * b
end
puts multiply(4, 5) # 출력: 20반환 값을 사용하면 메서드 호출을 체이닝(chain)할 수 있습니다:
def double(n)
n * 2
end
puts double(double(3)) # 출력: 12직접 해보기
# 입력으로부터 두 개의 정수를 읽습니다
num1 = gets.chomp.to_i
num2 = gets.chomp.to_i
# TODO: 아래에 square 메서드를 정의하세요
# TODO: square 메서드를 사용하여 제곱의 합을 계산하고 결과를 출력하세요이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.