예를 들어, 다음과 같은 코드를 스니핏 에서 일부 수정된 형태로, 시행하십시오 " Scala" 있는 샘플 코드, 프로그래밍,:
class R(n: Int, d: Int) {
private val g = myfunc
val x = n / g
val y = d / g
}
이것만으로도 이해하는 것은 내 3 개 클래스 필드: g", 공공, 민간 " " x";; 그리고 y" ";). 그러나 ᄀ씨는 대해서만 사용할 계산 값은 x 축과 y 필드, 주님으로부터그에게 마무리라뇨 내시경이요 구성자를 넘어
따라서 이 (알듯 인공) 의 값을 어떻게 acrobatconnectcentral. 검색하기를 정의에 대한 이 지역 구성자를?
그렇게 몇 가지 방법이 있습니다. 임시 변수를 사용할 수 시간 동안 건설 등 개인 redefinitions 인사이드라면 선언할 수 있습니다. 블록 안에 있는 표현식에서는 반품하십시오 임시 변수를 사용할 수 있습니다 (같이 Alaz& # 39 의 답). 또는, 마지막으로 뷰대체 구성자를 인사이드라면 등 변수를 사용할 수 있습니다.
비슷한 방식으로 대체 구성자를 object-companion& # 39 의 " apply", 내부의 정의하십시오 수도 있습니다. 메서드입니다.
또한 주 () 는 모든 매개변수입니다 받은 구성자를 필드이므로 있다. # 39 don& 경우, t, t want 노출시킵니다 don& # 39 될 수 있도록 하는 등 매개변수입니다 필드, 실제 필드에 구성자를, 일반적인 방법은 실제 사용할 수 있는 기본 생성자를 private 필드, 대체 구성자를 호스트였든 object-companion& # 39 의 적용하십시오 () 에 유효 " primary"; 구성자를.
우리는 또 다른 옵션은 기본 객체 생성자를 사용할 수 있다, 개인 및 동반 object& # 39 의 한 방법으로 적용하십시오 구성기는. 만약 우리가 이 적용하십시오 (푼 것이 아닙니다.) 이 외곽진입 데이터베이스에구성원을 예제에서와 다음과 같습니다.
class R private (val x: Int, val y: Int);
object R {
def apply(n: Int, d: Int): R = {
val g = myfunc;
new R(n / g, d / g);
}
}
대신 R 인스턴스를 만듭니다.
val r = new R(1, 2);
쓰기:
val r = R(1, 2);
이는 자세히, 하지만 조금 더 악화될 수 있다고 생각한다.). # 39 의 pbs. let& 바란다 [이] vals 취급함 향후 由대 利덈 스칼라 임시 변수. 마틴 자살했죠 시사했다.