Почему моя функция не получает мой int var ?! AS3 - PullRequest
0 голосов
/ 29 октября 2011

У меня проблема. Я получил мои дорогие var myVar:int и arr:Array. Я хочу использовать их для выполнения моей функции. s1 и indice1 - это массивы и целые значения, как я определил в моей программе.

getIndex(s1, indice1);

function getIndex(arr:Array, index:int = 0):void {
    for (var n:int = 0; n <= arr.length; n++) {
        if (String(arr[n]).indexOf(">") >= 0) {
            index = n;
            trace(n);
            arr[n] = String(arr[n]).substring(1);
        }
    }
}

теперь я получаю правильные результаты для моего массива, но у меня есть 0 для моего индекса.

Может ли кто-нибудь мне помочь?

Я имею в виду, что мне нужен динамический способ приведения значений индексов разностных массивов к разным индексам, чтобы я мог использовать свою функцию для извлечения, индексации и сохранения ее для любого имеющегося у меня массива

Ответы [ 3 ]

2 голосов
/ 29 октября 2011

Ваш вопрос довольно неясен.

Однако, чтобы ответить (что я ДУМАЮ вы спрашиваете), Вы не можете получить доступ к переменной index вне функции. Это связано с тем, что тип int не сохраняется как ссылка в AS3. Чтобы получить index снаружи, вам нужно будет выполнить одно из следующих действий:

a) Присвоить значение индекса глобальной переменной, например ::

var gIndex:int;

function getIndex(arr:Array,index:int = 0):void{
    //function contents
    gIndex=index;    
}
//This way you can access index as gIndex;

б) Вернуть переменную index из функции

function getIndex(arr:Array,index:int = 0):int{
    //function contents
    return index;    
}

//this way you can access index as getIndex(s1, indice1);
0 голосов
/ 29 октября 2011

Хорошо, я решаю это.

Ну, это не то, что я хочу, но посмотрите.

Я решил вернуть значение n из моей функции и передать его моей переменной.

indice1 = getIndex(s1);

function getIndex(arr:Array){

    for(var n:int=0; n<= arr.length; n++){

   if( String(arr[n]).indexOf(">") >= 0){ 

    return n;                          
    arr[n]= String(arr[n]).substring(1);
    }
      }
}

Итак, я получил значение n для моей переменной и все.В любом случае спасибо = D

0 голосов
/ 29 октября 2011

Ваша строка поиска доступна в arr[0], поэтому возвращается 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...