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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.08.2007, 16:16
ShockWave1024 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave1024 Найти все сообщения от ShockWave1024
  № 1  
Ответить с цитированием
ShockWave1024
[+1.10 22.01.07]

Регистрация: May 2006
Сообщений: 59
По умолчанию Не получается replace()

Код:
private function RemoveText(s:String):void {
        text.replace(s, "");
      }
в мануале написано что - s может быть регулярным или строковым выражением, но не работает ...
подскажите кто знает ...
(можно ли вставить переменную в регулярное выражение???)

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

Регистрация: Sep 2002
Сообщений: 30,787
0. Почему имя функции похоже на имя класса?
1. Что такое text?

Старый 07.08.2007, 16:58
ShockWave1024 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave1024 Найти все сообщения от ShockWave1024
  № 3  
Ответить с цитированием
ShockWave1024
[+1.10 22.01.07]

Регистрация: May 2006
Сообщений: 59
упс, простите
Код:
private function removeText(s:String):void {
    var text:String = new String("Hello world!!!");
    text.replace(s, "");
}

Старый 07.08.2007, 17:06
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Код:
function removeText(s:String):void {
    var text:String = new String("Hello world!!!");
    var replacedText:String=text.replace(s, "");
	trace(replacedText);
}
removeText("ll");//Heo world!!!

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

Регистрация: Sep 2002
Сообщений: 30,787
А зачем создавать целый объект для данных простого типа вроде String?

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

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
Цитата:
Сообщение от __etc
А зачем создавать целый объект для данных простого типа вроде String?
В данном случае это по барабану ) что сторока как ты ее не создавай всеравно это объект типа строка
__________________
33 коровы

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

Регистрация: Sep 2002
Сообщений: 30,787
Нет, не по барабану:

Код:
function test():void {
   var a:String = "a";
   var b:String = new String("b");
}
На выходе:

Код:
package classes_fla {
	import flash.display.MovieClip;

	public dynamic class MainTimeline extends MovieClip {

		public function MainTimeline() {
			// D0 30 D0 49 00 5D 07 24 00 60 04 4F 07 02 47 
			this.super();
			addFrameScript(0, frame1);
		}

		internal function frame1():* {
			// D0 30 47 
		}

		public function test():void {
			// D0 30 20 85 D5 20 85 D6 2C 0A D5 5D 06 2C 0C 4A 06 01 85 D6 47 
			var _local1:String = null;
			var _local2:String = null;
			_local1 = "a";
			_local2 = new String("b");
		}
	}
}
P-Code:
Код:
													0:GETLOCAL_0
1:PUSHSCOPE
2:PUSHNULL
3:COERCE_S
4:SETLOCAL_1
5:PUSHNULL
6:COERCE_S
7:SETLOCAL_2
8:PUSHSTRING "a"
10:SETLOCAL_1
11:FINDPROPSTRICT
13:PUSHSTRING "b"
15:CONSTRUCTPROP
18:COERCE_S
19:SETLOCAL_2
20:RETURNVOID
Если для инициализации первой переменной нужно:

Код:
pushstring "a"
setlocal_1
То для второй уже:

Код:
findpropstrict
pushstring "b"
constructprop
coerce_s
setlocal_2
Легко проверить:

Код:
var t:uint = getTimer();
for (var i:uint = 0; i< 40000000; i++) {
	var a:String = "String";
}
trace(getTimer()-t);// 751
t = getTimer();
for (i = 0; i< 40000000; i++) {
	var b:String = new String("String");
}
trace(getTimer()-t);// 4009
Разница в скорости — пять с лишним раз.

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

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
уговорил )), но в данном примере это по барабану
__________________
33 коровы

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

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

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


 


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


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