Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.10.2009, 18:52
PRosTo_LEva вне форума Посмотреть профиль Отправить личное сообщение для PRosTo_LEva Найти все сообщения от PRosTo_LEva
  № 1  
Ответить с цитированием
PRosTo_LEva

Регистрация: Oct 2009
Сообщений: 25
По умолчанию Flash actionscript 3.0 массивы данных

предположим у меня есть массив с данными ("img=12","ewr=34","rke=54");

Как мне извлечь из массива данные таким образом что бы на выходе я имел переменные img,ewr,rke которым будет присвоенно ихнее значение в массиве тобиш img будет иметь значение 12 и т.д.?

изменить состав массива не могу его я парсю из файла который имеет именно такое содержимое:

строка1=значение
строка2=значение
и т.д.

Старый 21.10.2009, 18:57
Ravanger вне форума Посмотреть профиль Отправить личное сообщение для Ravanger Найти все сообщения от Ravanger
  № 2  
Ответить с цитированием
Ravanger
 
Аватар для Ravanger

Регистрация: Aug 2007
Адрес: Ukraine, Kiev
Сообщений: 66
цикл + split
__________________
Haurit aquam cribro, qui discere vult sine libro

Старый 21.10.2009, 19:01
PRosTo_LEva вне форума Посмотреть профиль Отправить личное сообщение для PRosTo_LEva Найти все сообщения от PRosTo_LEva
  № 3  
Ответить с цитированием
PRosTo_LEva

Регистрация: Oct 2009
Сообщений: 25
Я всего несколько дней с флешом работаю, можно подробнее? Как именно использовать split ?

Старый 21.10.2009, 19:06
Ravanger вне форума Посмотреть профиль Отправить личное сообщение для Ravanger Найти все сообщения от Ravanger
  № 4  
Ответить с цитированием
Ravanger
 
Аватар для Ravanger

Регистрация: Aug 2007
Адрес: Ukraine, Kiev
Сообщений: 66
Код AS3:
var _source:Array = ["img=12","ewr=34","rke=54"];
var _out:Array = [];
 
for each (var part:String in _source) {
	var items:Array = part.split("=");
	_out[items[0]] = items[1];
}
trace(_out['img']);
__________________
Haurit aquam cribro, qui discere vult sine libro

Старый 21.10.2009, 19:11
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 5  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
вообще говоря значит не правильно парсите просто получается что у вас img это ключ элемента массива, а 12 это само значение а у вас тупо строчка,

самый лучший вариант это цикл а в цикле пройтись теми же регулярками

Старый 21.10.2009, 19:22
PRosTo_LEva вне форума Посмотреть профиль Отправить личное сообщение для PRosTo_LEva Найти все сообщения от PRosTo_LEva
  № 6  
Ответить с цитированием
PRosTo_LEva

Регистрация: Oct 2009
Сообщений: 25
как же всетаки охренительно что есть умные люди!

Большущее спасибо! Работает замечательно!!!

Ravanger, особая благодарность! результат превзошел ожидание.


Цитата:
самый лучший вариант это цикл а в цикле пройтись теми же регулярками
Регулярками парсю нужные строки из массива. Подскажите еще одно такое дело:
наш массив:
"img=12","ewr=34","rke=54"

Код AS3:
var pattern:RegExp = /img=\w*/
imputList = (info.match(pattern));
trace(imputList);// выходит img=12
Возможно ли сделать так чтобы "img=" само тело регулярки не присваивалось, а выводило просто значение 12?


Последний раз редактировалось PRosTo_LEva; 21.10.2009 в 19:29.
Старый 21.10.2009, 19:28
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 7  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
Цитата:
Сообщение от Ravanger Посмотреть сообщение
Код AS3:
var _source:Array = ["img=12","ewr=34","rke=54"];
var _out:Array = [];
 
for each (var part:String in _source) {
	var items:Array = part.split("=");
	_out[items[0]] = items[1];
}
trace(_out['img']);
есть специальный класс Dictionary. он для этого и предназначен. поэтому не следует в данном случае использовать Array.

Код AS3:
var _out:Dictionary = new Dictionary();
__________________
я могу стать всем, если только захочу

Старый 21.10.2009, 19:36
Ravanger вне форума Посмотреть профиль Отправить личное сообщение для Ravanger Найти все сообщения от Ravanger
  № 8  
Ответить с цитированием
Ravanger
 
Аватар для Ravanger

Регистрация: Aug 2007
Адрес: Ukraine, Kiev
Сообщений: 66
Цитата:
есть специальный класс Dictionary
да, да, запамятовал
__________________
Haurit aquam cribro, qui discere vult sine libro

Старый 21.10.2009, 19:37
PRosTo_LEva вне форума Посмотреть профиль Отправить личное сообщение для PRosTo_LEva Найти все сообщения от PRosTo_LEva
  № 9  
Ответить с цитированием
PRosTo_LEva

Регистрация: Oct 2009
Сообщений: 25
Да ребятки.. как там в баш орге...

Цитата:
iexx:
блин, вот за что люблю программирование, так это за то, что одно и тоже можно сделать десятью разными способами.

Obormotik:
и за 8 из них получить пиздюлей от вышестоящих прогеров

Старый 21.10.2009, 19:47
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 10  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
а я все равно не понимаю а почему нельзя распарсивать изначально правильно:
так что бы у вас был на выходе
Код AS3:
arr['img'] = 12

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:19.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.