Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Генерация имени переменной 
V
    Опции темы
Ant0ha
Дата 29.8.2011, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 25.3.2009

Репутация: 1
Всего: 2



Есть несколько элементов MXML с именами "element_1", "element_2", "element_3" и тд. Как мне в AS сгенерировать имя переменной с меняющимся числом?

К примеру, в php я могу сделать это так:

Код

<?php

$i = 2;

$var_name = "element_" . $i;

$$var_name->foo = 1;


т.е. я присвоил значение 1 свойству foo объекта $element_2

Как подобное реализовать в actionscript?

Это сообщение отредактировал(а) Ant0ha - 29.8.2011, 19:35
PM MAIL   Вверх
nilrem
Дата 30.8.2011, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 15.2.2006
Где: Киев

Репутация: нет
Всего: нет



Во первых необходимо создать динамический объект в котором будет содержаться переменная, например :
var obj:Object = {}; // эквивалент new Object();
Далее создаем в нем необходимую переменную:
obj["item"+n] = 123;
Где n ваш индекс.

Но это плохая практика, as3 типезированный язык и более правильно создать модель данных, отдельный объект в котором заранее прописаны все переменные, а после парсить XML в него. В данном случае подойдет обычный массив, либо, что еще лучше, Вектор. - типизированный массив.
PM MAIL WWW ICQ Skype   Вверх
SoWa
Дата 30.8.2011, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 1
Всего: 74



Действительно, лучше создать объект, у которого будет поле name, и вот его выставлять.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Ant0ha
Дата 30.8.2011, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 25.3.2009

Репутация: 1
Всего: 2



Спасибо, кстати, для mxml не плохо подходит и такой вариант:

Код

var i:int = 2;
var elementName:String = "element_" + String(i);

this[elementName].visible = false;

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 3 | Следующая тема »


 




[ Время генерации скрипта: 0.0779 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.