나는 스칼라를 지금 배우고있다. 내가 좋아하는 한 가지 방법은 조기 반환입니다. 이전에 유효하지 않은 상태를 제거하기 만하면 모든 사람이 읽을 수 있다는 것을 확신합니다. 자, 스칼라가 함수형 언어이고 커팅 계산이 나쁜 함수 스타일이라는 것을 읽었습니다. 조기 반환과 동등한 트릭이나 함수 프로그래밍이 있는지 궁금합니다.스칼라로 조기 반환하는 방법
이 코드는 완전히 명확하게 작성했습니다.이 코드는 단지 멍청한 예일 뿐이며, 특별한 경우에 대한 특별한 해킹이 필요하지는 않습니다. 그러나 이러한 문제를 처리하는 방법에 대한 일반적인 조언이 필요합니다.
if (request.headers.get(session_header).isEmpty) {
BadRequest(session_not_set)
} else {
Ok(CartHelper.getCart(session, user))
}
자, 내가 할 유혹하고있어입니다 :
if (request.headers.get(session_header).isEmpty) {
BadRequest(session_not_set)
return;
}
Ok(CartHelper.getCart(session,user))
당신이 나를 위해 어떤 힌트가 있다면!
https://tpolecat.github.io/2014/05/09/return.html –
발생하는 오류는 익명의 함수 내에서 (재생'Action' 내에서)'return'을 사용하려고하기 때문에 발생합니다.), 익명 함수 대신 전체 메서드에서 반환됩니다. 이 경우 당신이 원하는 것을 할 수는 없지만 조기 반품은 좋은 습관이 아니기 때문에 위의 기사를 읽으시기 바랍니다. –
'if ... else ...'로 대체 할 때 조기 반환은 대개 크기가 다른 조항으로 끝납니다. 간단한 해결책은 큰 방법을 별도의 방법으로 옮기는 것입니다. –