PDA

Просмотр полной версии : Выборочная передача необязательных параметров в функцию.


Den_root
27.04.2012, 00:41
function fun(var1:int = null, var2:int = 2):void{
if(var1)
....
];
fun(10);

Как сделать, что бы 10 передавалось в параметр var2?

Bgg
27.04.2012, 00:48
fun(10, 10);

Den_root
27.04.2012, 00:56
fun(10, 10);
Ой, и как я то не догадался!:D А если серьезно, то так теряется весь смысл необязательных параметров.
Может, можно при передаче указать в какой параметр передается значение?
fun(var2=10);// нечто вроде этог

Aquahawk
27.04.2012, 00:59
неа, в as3 нет именованных параметров. В Objective C есть, там можно так делать, но там вообще всегда надо указывать имена, из-за этого часто код выглядит громоздким.

Bgg
27.04.2012, 01:03
Так уж сложилось что необязательные параметры идут в конце. Передавайте объект:
function fun(params:Object):void{

if(!params['var1']){
//tratata
}

if(!params['var2']){
params['var2'] = 10;
}

}

fun({var1:10});