최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

ActionScript 3.0나 php에서는 function의 parameter value도 default로 define할 수 있다.

 

굳이 매개변수를 넣지 않더라도 기본값을 할당해 줄 수 있다는 뜻이다.

 

example 1)

function myA(a:int=10,b:int):int{ 
 return a;
}

myA라는 함수를 호출하는 코드를 작성하면 대략 myA(100,100) 정도가 될 것이다.

 

그런데 함수를 보면 굳이 값을 넣어주지 않아도 되는 선택매개변수(a)가 앞에 있고, 필수매개변수(b)가 2번째 일경우에

 

myA(100) 처럼 사용한다면 처음값이 어떤값(a인지 b인지)에 해당하는지 판단을 할 수 없어서 논리적 오류가 발생한다.

 

컴파일 에러는 다음과 같다. required parameters are not permitted after optional parameters

 

b와같은 필수 매개변수는 a와같은 선택적 매개변수 뒤에 허용되지 않는다. 너무 당연한가;;;

 

example 2)

function myB(a:int,b:int=10):int{
 return b;
}

정상적인 순서는 선택매개변수를 뒤쪽에 붙여서 쓰는 것이다. 예를 들기위해서 하나만 넣었는데 (a:int, b:int=10, c:int=20, d:int=30...)식으로..

 

이어서 표현 할 수있다.

 

myB함수를 호출할 때 myB(100)으로 쓴다면 a는 100, b는 자동으로 10이 할당 될 것이다.

댓글