메서드 정의 밖에서 return을 썼어요
메서드 정의 밖에서 return을 썼어요 (E091: Return Outside Method Definition)
return 문을 메서드 정의 밖에서 쓰면 이 에러가 나요. return 키워드는 메서드 정의 안에서만 쓸 수 있어요. 생성자, 익명 함수, 최상위에서는 쓸 수 없어요.
본문
return 문을 메서드 정의 밖에서 사용하면 이 에러가 발생해요.
return 키워드는 메서드 정의 안에서만 사용할 수 있어요. 생성자, 익명 함수, 최상위에서는 쓸 수 없죠.
예시 (Example)
val x = return 42
최상위에서 return을 쓰려고 했네요.
에러 (Error)
-- [E091] Syntax Error: example.scala:1:8 --------------------------------------
1 |val x = return 42
| ^^^^^^^^^
| return outside method definition
|-----------------------------------------------------------------------------
| Explanation (enabled by `-explain`)
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| You used return in the top-level definitions in package <empty>.
| return is a keyword and may only be used within method declarations.
-----------------------------------------------------------------------------
해결 방법 (Solution)
값이 필요하다면 그냥 값을 직접 사용해요.
// Simply use the value directly
val x = 42
return이 필요한 경우엔 메서드 안에서만 쓰도록 해요.
// Use return only inside methods
def getValue: Int = return 42 // but even here, avoid return
def getBetterValue: Int = 42 // preferred style