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

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

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

Регистрация: May 2011
Сообщений: 72
Flame фильтр для строк

Привет всем,

Интересует следующее: Есть ли в AS3 какие-то готовые тулзы для анализа строки?
Надо проверить состоит строка из разрешённых символов или там есть лишние символы.

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

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

Регистрация: May 2011
Сообщений: 72
ну я про это и говорю: тут тоже проходишь всю строку по символам. А я интересуюсь, есть ли встроенная функция, которая будет делать тоже самое, что делает моя самодельная функция.

А тобишь: проверять, состоит строка из разрешенных символов или там есть левые.

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
http://help.adobe.com/en_US/as3/dev/...80cb-7ff6.html
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
http://help.adobe.com/ru_RU/FlashPla.../3/RegExp.html
__________________
Reality.getBounds(this);

Старый 16.11.2014, 16:51
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 6  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
Цитата:
хочется более красивого решения
Лично для меня методы реализуемые классом String, самое красивое решение.
Мне больше нравится потренироваться перебирая строку со сложным условием
в цикле, чем при помощи "элегантного" RegExp.

Старый 16.11.2014, 19:09
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 7  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
задача отфильтровать все символы в строке, которых нет в chars
Код AS3:
//задротство
var chars:String = "abc";
var str:String = "acdbag";
 
var resultStr:String = "";
 
var startSlice:uint = 0;
m: for (var i:uint = 0; i < str.length; i++ ) {
	var char:String = str.charAt(i);
	for (var j:uint = 0; j < chars.length; j++ ) {
		var goodChar:String = chars.charAt(j);
		if (char === goodChar) {
			continue m;
		}
	}
	if (i - startSlice > 0) {
		resultStr += str.slice(startSlice, i);
	}
	startSlice = i + 1;
}
resultStr += str.slice(startSlice);
trace(resultStr); // acba
VS
Код AS3:
//функциональное задротство
var chars:String = "abc";
var str:String = "acdbag";
 
var resultStr:String = str.split("").filter(function(char:String, ...args):Boolean {
	return chars.split("").some(function(goodChar:String, ...args):Boolean {
		return char === goodChar;
	});
}).join("");
trace(resultStr); // acba
VS
Код AS3:
var str:String = "acdbag";
trace(str.replace(/[^abc]/g, "")); // acba

Старый 16.11.2014, 19:21
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 8  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
А я считаю, что обожествление последнего варианта и приводит к задротским примерам выше.
Вы исполнили их задротски. И это задротство будет приследовать Ваш код по всюду.
И отрицать это бесполезно, так как задротство оно везде.

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

Регистрация: Jan 2013
Сообщений: 322
Цитата:
А я считаю, что обожествление последнего варианта и приводит к задротским примерам выше.
Вы исполнили их задротски. И это задротство будет приследовать Ваш код по всюду.
И отрицать это бесполезно, так как задротство оно везде.
што

кто обожествляет регекспы? у них только один плюс - быстро пишутся.
их невозможно читать[ и отлаживать], и возможности у них ограничены.

> Вы исполнили их задротски.
а как же практика?
> Мне больше нравится потренироваться перебирая строку
какой смысл писать это:
Код AS3:
var chars:String = "abc";
var str:String = "acdbag";
 
var resultStr:String = "";
 
m: for (var i:uint = 0; i < str.length; i++ ) {
	var char:String = str.charAt(i);
	for (var j:uint = 0; j < chars.length; j++ ) {
		if (char === chars.charAt(j)) {
			resultStr += char;
		}
	}
}
trace(resultStr); // acba
мне это писать не интересно и нудно. слишком неэффективный код в плане чтения, писания, смысловой нагрузки, практики 0. а вот в первом варианте я делаю всего три конкатенации.

Цитата:
И это задротство будет приследовать Ваш код по всюду.
да спасет меня code review

Добавлено через 8 минут
ну а вообще, простые задачи нужно решать просто. а в конкретном случае регэксп самое простое решение.

Старый 16.11.2014, 21:08
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 10  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
Цитата:
кто обожествляет регекспы? у них только один плюс - быстро пишутся.
Ну я тогда боюсь с Вами продолжать общаться, так как не понимаю Вас.
Если бы я написал коммент к коду, что это задротство, то это бы означало, что это плохо.

А дальше что творится? Вы трезвый?
Цитата:
кто обожествляет регекспы? у них только один плюс - быстро пишутся.
их невозможно читать[ и отлаживать], и возможности у них ограничены.
А после Вашего кода выполняющего сортировку, Вы говорите -
Цитата:
мне это писать не интересно и нудно. слишком неэффективный код в плане чтения
Я это понимаю, как - мне и это и то не нравиться и все это не эффективно...
А дальше вообще говорите о каком-то первом варианте.

Цитата:
какой смысл писать это:
Вы понимаете, что это у Вас оно ЭТО? Я тоже не вижу смысла писать ЭТО.
Но все дело в том, что написания ЭТОГО говорит о том, что у Вас существуют двери,
которые Вы ещё не открывали. И при чем это одни из самых первых дверей.

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

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

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


 


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


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