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

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

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

Регистрация: Nov 2006
Сообщений: 63
По умолчанию Как задать n-штук переменных?

Как мне задать n-штук переменных? myStuff_1, myStuff_2... myStuff_" +n
Цель - создать n-штук объектов new MyClass

Вот что я хочу сделать, в виде нерабочего кода:
Код AS3:
package {
	public class Main {
		for (var i:int = 0; i<n; i++) {
			public var this["myStuff_"+i]
		}	
		public function Main () {
			for (var i:int = 0; i<n; i++) {
			this["myStuff_"+i] = new MyClassWithStuffLolz() ;
			}
		}
	}
}

Старый 12.10.2011, 15:28
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 2  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Используйте массив.
Например так:
Код AS3:
package {
	public class Main {
		private var stuffs: Array;	
		public function Main () {
			stuffs = [];
			for (var i:int = 0; i<n; i++) {
			stuffs[i] = new MyClassWithStuffLolz() ;
			}
		}
	}
}
__________________
http://www.chessmax.ru

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

Регистрация: Nov 2006
Сообщений: 63
Спасибо, это решит мою проблему.
Тем не менее остался вопрос, можно ли задать переменную с составным именем?
Например:["myVar_"+var1+"_"+var2]

Старый 12.10.2011, 16:08
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 4  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Можно, но ТАК ДЕЛАТЬ НЕ СТОИТ!
Код AS3:
package {
	public class Main {
		private var stuffs: Object;	
		public function Main () {
			stuffs = {};
			for (var i:int = 0; i<n; i++) {
			stuffs["myVar_" + i.toString()] = new MyClassWithStuffLolz() ;
			}
		}
	}
}
__________________
http://www.chessmax.ru

Старый 12.10.2011, 16:09
Kidd002 вне форума Посмотреть профиль Отправить личное сообщение для Kidd002 Посетить домашнюю страницу Kidd002 Найти все сообщения от Kidd002
  № 5  
Ответить с цитированием
Kidd002

Регистрация: Apr 2004
Адрес: Россия, Москва
Сообщений: 60
Отправить сообщение для Kidd002 с помощью ICQ
Переменную - нет. Параметр у динамического объекта - да.
Код AS3:
var object:Object = { };
for (var i:int = 0; i < 10; i++) 
{
     object["foo" + i] = i;
}
trace(object["foo5"]); //5

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

Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
Это абсолютно не нужно (по крайней мере я себе не могу представить необходимость подобного). Но в целом, можно использовать свой динамический класс или Object:

Код AS3:
var dataHolder:Object = {};
 
var i:int = 5;
 
dataHolder["someVar_"+i] = "someValue";
 
trace(dataHolder.someVar_5); //someValue

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

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

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


 


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


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