2010-04-27 2 views
2

디폴트 파라미터 나 함수를 3.0

기능 검사 (P1 : INT = 7, P2 : 부울 = TRUE, P3 : UINT =은 0xFFFF00, P4 : 수 = ​​55.5) {
// 지침
}

방법, 예를 들어, 단지 P4 을 변경 및 매개 변수 (P1)은, P3는, P3 여전히 기본했다?
다음에 예를 들어 만 변경하려는 경우 p2이고 매개 변수 p1, p3, p4 은 여전히 ​​기본값 인입니까?

답변

0

수 없습니다. p3과 p4는 그대로 둘 수 있으며 p2 만 지정할 때 기본값을 사용합니다. 그렇다면 p1 값도 입력해야합니다.

+0

다니엘 하이가 최고라고 생각합니다. 내 문제를 해결했다. :) – Bogdan

1

당신은 항상 (하지만 난 그게 좋은 아이디어를 생각하지 않습니다) 같은 것을 할 수있는 :

private function test(a1:Object=null, a2:Object=null, a3:Object = null, a4:Object = null):void { 
    var p1:int  = (a1 !== null ? int(a1) : 3); 
    var p2:Boolean = (a2 !== null ? Boolean(a2) : true); 
    var p3:uint  = (a3 !== null ? uint(a3) : 0xFFFF00); 
    var p4:Number = (a4 !== null ? Number(a4) : 55.5); 
} 

그런 식으로 뭔가가 기본이 될하려는 경우, 당신은 단지 null을 전달할 수 있습니다

with :

test(null,false,null,null); 

하지만 다시 한 번 잘못된 생각입니다. 어쩌면 매개 변수를 객체로 만들 수 있습니다. 이미 rgb + alpha + 투명도가있는 colortransform 객체를 전달하는 것처럼 들립니다. (단지 야생 추측)

+0

아주 좋은 생각입니다. 다 괜찮아. function 클래스에서 void를 다음으로 대체했습니다. 배열 및 함수에서 줄을 씁니다. return [p1, p2, p3, p4]; 다음 호출 함수 trace (test (null, false, null, 125)); 모두 훌륭합니다. 감사합니다. – Bogdan