![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jan 2011
Сообщений: 8
|
Возникла проблема...написал код с тремя проверками, по отдельности работают все, а вот интегрировать в программу без ошибок не получилось пишет:
TypeError: Error #1006: split не является функцией. at SocketNetworkConnectionAdmin_fla::MainTimeline/onPublicMessage() at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at it.gotoandplay.smartfoxserver.handlers::SysHandler/handlePublicMessage() at Function/http://adobe.com/AS3/2006/builtin::apply() at it.gotoandplay.smartfoxserver.handlers::SysHandler/handleMessage() at it.gotoandplay.smartfoxserver::SmartFoxClient/xmlReceived() at it.gotoandplay.smartfoxserver::SmartFoxClient/handleMessage() at it.gotoandplay.smartfoxserver::SmartFoxClient/handleSocketData() /*BEGIN проверка Б заданий для пользователя 1*/ if (evt.params.message.substring(0,2) == "01") { if (evt.params.message.substring(2,5) == "B08") { number=8;//номер задания var i = 0; var j = 0; /*Begin тип НУЛЕВОГО варианта проверки(Обычное сравнение)*/ if (OtvetsBinfo[number] == "0") { if (IDB1[number] == OtvetsB[number]) { ID1BCorrector[number]=[1,0]; } else { ID1BCorrector[number]=[0,1]; } };//закончена нулевая проверка /*End тип НУЛЕВОГО варианта проверки(Обычное сравнение)*/ /*Begin тип ПЕРВОГО варианта проверки(Последовательность)*/ if (OtvetsBinfo[number] == "1") { /*обнуление предыдущих значений*/ i=0; MaxLength=0; ball=0; /*Разбивка присылаемого ответа в массив*/ IDB1[number] = evt.params.message.substring(5,evt.params.message.length); IDB1[number]=IDB1[number].split(","); OtvetsB[number]=OtvetsB[number].split(","); /*поиск наибольшего из вариантов*/ if(IDB1[8].length > OtvetsB[number].length){ MaxLength=IDB1[number].length; } else { MaxLength=OtvetsB[number].length; }; /*цикл проверки последовательности*/ while (i<MaxLength) { if(IDB1[number][i]==OtvetsB[number][i]){ ball=ball+1; }; i++; }; /*сохраняю в массиве количество правильных ответов и не правильных*/ ID1BCorrector[number]=[ball,MaxLength-ball]; }; //закончена первая проверка /*End тип ПЕРВОГО варианта проверки(Последовательность)*/ /*Begin тип ВТОРОГО варианта проверки(Совпадение слов)*/ if (OtvetsBinfo[number] == "2") { /*обнуление предыдущих значений*/ i=0; MaxLength=0; ball=0;j = 0; /*Разбивка присылаемого ответа в массив*/ IDB1[number] = evt.params.message.substring(5,evt.params.message.length); IDB1[number]=IDB1[number].split(","); OtvetsB[number]=OtvetsB[number].split(","); /*поиск наибольшего из вариантов*/ if(IDB1[number].length > OtvetsB[number].length){ MaxLength=IDB1[number].length; } else { MaxLength=OtvetsB[number].length; }; /*цикл проверки совпадений*/ while (i<MaxLength) { j = 0; while (j<OtvetsB[number].length) { if (IDB1[number][i] == OtvetsB[number][j]) { ball = ball + 1; } j++; }; i++; }; /*сохраняю в массиве количество правильных ответов и не правильных*/ ID1BCorrector[number]=[ball,MaxLength-ball]; }//закончена вторая проверка /*End тип ВТОРОГО варианта проверки(Совпадение слов)*/ trace(ID1BCorrector[8]); }; /*Задание номер 8*/ }; /*END проверка Б заданий для пользователя 1*/ |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
А вы уверены что в IDB1[number] находится String?
trace(IDB1[number]) не пробовали? Не пишите в кадрах, не пользуйтесь Flash IDE для программирования. |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 8
|
Да там тип String, данные получаю через сокет сервер.Там примерно такая строка сохраняется в массив -3,8,1,9.
|
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
А как вы вставляете элементы в массив? Проверяйте каждый элемент, в каком то у вас скорей всего не String а Int например.
Либо: |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 8
|
Возможно ошибка была в этом OtvetsB[i] = [TestList. @ ["B" + i.toString()][0]];,но ваш совет мне ЗДОРОВО ПОМОГ!Огромное вам спасибо!И еще хотел спросить ,а как программно проверить тип элемента?
|
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Не за что. Проверять тип можно оператором is.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 11:13. |
|
|
« Предыдущая тема | Следующая тема » |
|
|