반환 타입
컴파일러는 메서드의 반환 타입을 항상 추론합니다. 하지만 특정하는 것이 좋은 경우가 두 가지 있습니다.
- 메서드가 의도한 타입을 반환하는 것을 보장하고 싶을 때
- 문서 주석에 나타내고 싶을 때
다음과 같은 경우입니다.
def some_method : String
"안녕"
end
반환 타입은 타입 문법을 따릅니다.
반환 타입 Nil
메서드가 Nil
을 반환하는 것으로 표기한다면, 실제로 반환하는 값이 무엇이든 간에 nil
을 반환하게 됩니다.
def some_method : Nil
1 + 2
end
some_method # => nil
이것이 유용한 경우는 두 가지입니다.
nil
을 끝에 추가하지 않아도 메서드가nil
을 반환하게 하고 싶을 때- 문서를 작성할 때 메서드의 반환 값이 중요하지 않을 때
이런 메서드는 보통 부수 효과를 암시합니다.
Void
도 같은 효과를 내지만 Nil
이 더 자주 쓰입니다. Void
는 C 바인딩에서 사용합니다.