반환 타입

컴파일러는 메서드의 반환 타입을 항상 추론합니다. 하지만 특정하는 것이 좋은 경우가 두 가지 있습니다.

  1. 메서드가 의도한 타입을 반환하는 것을 보장하고 싶을 때
  2. 문서 주석에 나타내고 싶을 때

다음과 같은 경우입니다.

def some_method : String
  "안녕"
end

반환 타입은 타입 문법을 따릅니다.

반환 타입 Nil

메서드가 Nil을 반환하는 것으로 표기한다면, 실제로 반환하는 값이 무엇이든 간에 nil을 반환하게 됩니다.

def some_method : Nil
  1 + 2
end

some_method # => nil

이것이 유용한 경우는 두 가지입니다.

  1. nil을 끝에 추가하지 않아도 메서드가 nil을 반환하게 하고 싶을 때
  2. 문서를 작성할 때 메서드의 반환 값이 중요하지 않을 때

이런 메서드는 보통 부수 효과를 암시합니다.

Void도 같은 효과를 내지만 Nil이 더 자주 쓰입니다. Void는 C 바인딩에서 사용합니다.

results matching ""

    No results matching ""