문제

ActionScript 3에서 기본값을 제공하여 선택적 인수를 선언 할 때 값 없는 타이핑 된 인수에 사용할 수 없습니다.

function Action(Param:int=null){
    // 1184: Incompatible default value of type Null where int is expected.
}
function Action(Param:int=0){
    // No compiler errors
} 

이에 대한 해결 방법 또는 모든 데이터 유형에 적용 할 수있는 범용 값이 있습니까?

도움이 되었습니까?

해결책

int를 숫자로 변경 한 다음 '숫자가 아님'을 의미하는 특별한 숫자 인 NAN으로 설정할 수 있으며 숫자의 숫자 상태를 나타낼 수 있습니다.

무언가가 Nan인지 확인하려면 iSNAN () 함수를 사용해야하며 val == NaN, 또는 당신은 당신이 기대하는 것을 얻지 못할 것입니다.

function Action(param:Number = NaN) : void {
    trace(param);
}

다른 모든 객체의 경우 NULL로 설정할 수 있지만 '원시'숫자는 ActionScript에서 다르게 처리됩니다.

다른 팁

int 변수는 null이 될 수 없으므로 오류가 발생하는 이유입니다. 객체와 같은 참조 유형 만 NULL 일 수 있습니다.

대신 NAN을 NULL 대신 특별 번호로 사용할 수 있습니다. 당신이 무언가를 확인하고 싶다면 당신은 isnan 기능을 사용합니다.

Method Signature에 플래그를 포함하여 매개 변수를 int에서 숫자로 홍보하지 않도록 할 수도 있습니다.

function whatever(intProvided:Boolean = false, someInt:int = 0):void
{
    if(intProvided)
        doSomeStuff();
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top