기존 라이브러리 (생성자 또는 컴패니언 객체를 편집 할 수 없음)로 작업 할 때 종종 객체에서 init/setup 프로 시저를 호출 한 다음 반환해야합니다. 객체 그 자체. 나는 보통 다음과 같은 일을한다.부작용 처리 : 체인 생성자와 설정 메소드의 도우미 기능
def createObject: MyObject = {
val o = new MyObject
o.init()
o
}
이 이럴 하지 매우 우아하고, 예를 들어,이 일을 더 나은 방법이 있는지 궁금하네요하는 설치 및-수의 라인을 따라 기능 : (내 자신의 작성 이외의)
def createObject: MyObject = {
setupAndGet(new MyObject) { _.init(v) }
}
스칼라에서이에 대한 기존 솔루션이 있습니까?
이것은 "기능 스타일"이 아닙니다. 'o.store'는 부작용에 의해 작동하므로 스칼라에서 원하는 것을 수행하는 방법을 찾을 수 없을 것입니다. –