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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.01.2010, 22:33
Crenth вне форума Посмотреть профиль Отправить личное сообщение для Crenth Найти все сообщения от Crenth
  № 11  
Ответить с цитированием
Crenth
[+1 19.06.10]
[+1 27.07.10]
 
Аватар для Crenth

Регистрация: Aug 2009
Адрес: UTC+2
Сообщений: 353
Цитата:
Сообщение от udaaff Посмотреть сообщение
Пытаюсь из текстового файла следующей структуры

regexp - крайне медленный способ работы со строками
или я не прав, или искомые числа расположены во втором столбце виртуальной таблицы вашего текстового файла ?
при большом объеме будут затруднения.

кстати, а не лучше ли искать на стороне сервера ?

Старый 25.01.2010, 22:53
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 12  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Сообщение от Crenth Посмотреть сообщение
или я не прав, или искомые числа расположены во втором столбце виртуальной таблицы вашего текстового файла ?
при большом объеме будут затруднения.

кстати, а не лучше ли искать на стороне сервера ?
Был дамп таблицы из БД. Мне понадобились эти числа. В процессе вынимания чисел появился вопрос по RegExp. Никаких примудростей тут у меня нету

Старый 25.01.2010, 23:05
Crenth вне форума Посмотреть профиль Отправить личное сообщение для Crenth Найти все сообщения от Crenth
  № 13  
Ответить с цитированием
Crenth
[+1 19.06.10]
[+1 27.07.10]
 
Аватар для Crenth

Регистрация: Aug 2009
Адрес: UTC+2
Сообщений: 353
Excel быстро вынимает из дампов. Быстрее, чем писать код для этого на АС3
А для частого применения лучше прооптимайзить алгоритм

Старый 25.01.2010, 23:27
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 14  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Примеры строки и того, что в ней нужно найти, не помешали бы.
Вот код, который я использую сейчас:
Код AS3:
 
private function getTypeMarker(value:*):int {
			var fullDefinition:XML = describeType(value);
			var fullType:String = fullDefinition.@name;
 
			if (String(fullDefinition.@base).indexOf("DisplayObject") != -1) {
				return getMarkerByDefinition("null");
			}
 
			var type:String = fullType.indexOf("::") == -1 ? fullType : fullType.split("::")[1];
			type = type.indexOf(".<") == -1 ? type : type.split(".<")[0];
			return getMarkerByDefinition(type);
		}
То есть я получаю строку вида :
Цитата:
__AS3__.vec::Vector.<String>
Из этой строки надо получить:
1) все что стоит после "::", если таковое имеется
2) то, что стоит между ".<" и ">", если таковое имеется.

Проще говоря, если тип value - вектор, то получаем тип данных в нем, если же что либо кроме вектора - имя класса, к которому принадлежит value без имени пакета

Мне просто интересно - как оно быстрее будет - так или же РегЭкспами?
__________________
...вселенская грусть

Старый 26.01.2010, 00:25
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 15  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код AS3:
var pattern:RegExp = /::(.+?)(?:\.<(.*?)>)?$/;
var array:Array = fullType.match(pattern);
Массив будет содержать: совпавшее выражение, значение первой группы сбора (.+?), значение второй группы сбора (.*?), если таковое будет.

Старый 26.01.2010, 03:03
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 16  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
выбрать в массив числа, отмеченные красным
Не проще ли просто разбить строку и получить нужное число, в данном случае можно вообще обойтись без регулярных выражений.
Сначала разбить по запятым, потом убрать скобки, разбить по запятым подстроки.


Последний раз редактировалось alatar; 26.01.2010 в 03:08.
Старый 26.01.2010, 07:43
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 17  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
getQualifiedClassName, видимо, слишком примитивный метод, нежели describeType.

Код AS3:
var v:Vector.<Sprite> = new Vector.<Sprite>();
var type:String = getQualifiedClassName(v).substr(getQualifiedClassName(Vector).length + 2).substr(0, -1);
trace(type);


Последний раз редактировалось etc; 26.01.2010 в 07:45.
Старый 26.01.2010, 14:14
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 18  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Сообщение от alatar Посмотреть сообщение
Не проще ли просто разбить строку и получить нужное число, в данном случае можно вообще обойтись без регулярных выражений.
Сначала разбить по запятым, потом убрать скобки, разбить по запятым подстроки.
Можно конечно и так, но вопрос был в другом. И ответ на него я уже получил

ps: Не факт, что это быстрее работать будет.

Цитата:
Сообщение от Crenth Посмотреть сообщение
Excel быстро вынимает из дампов.
Будем знать.


Последний раз редактировалось udaaff; 26.01.2010 в 14:21.
Старый 26.01.2010, 16:19
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 19  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
getQualifiedClassName, видимо, слишком примитивный метод, нежели describeType.
Да. Потому как список свойств и методов он не возвращает.
__________________
...вселенская грусть

Старый 26.01.2010, 19:11
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 20  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Да. Потому как список свойств и методов он не возвращает.
И как-то незаметно, чтобы вы использовали их.

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

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

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


 


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


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