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

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

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

Регистрация: Aug 2009
Адрес: Earth
Сообщений: 41
По умолчанию как можно получить собственное имя переменной?

после пивопития начал углубляться в AS3 и возник один вопрос коварный
как можно получить собственное имя переменной?
например:

var dd : uint;
trace(dd.name); <<-- есть ли в AS3 что-то типа такого?

в результате должно вывестись на экран имя переменной, то есть dd


или это я еще не протрезвел?
заранее сенкс

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

Регистрация: Aug 2009
Адрес: ХМАО
Сообщений: 47
маловероятно. разве подобный механизм есть в языках программирования?
И собственно зачем?

Старый 12.08.2009, 21:47
WRC_S вне форума Посмотреть профиль Отправить личное сообщение для WRC_S Посетить домашнюю страницу WRC_S Найти все сообщения от WRC_S
  № 3  
Ответить с цитированием
WRC_S
[+6 23.11.09]
 
Аватар для WRC_S

Регистрация: Jun 2009
Адрес: Россия
Сообщений: 318
Отправить сообщение для WRC_S с помощью ICQ
Бред не льзя, так не программируют!

Старый 12.08.2009, 22:58
john вне форума Посмотреть профиль Отправить личное сообщение для john Посетить домашнюю страницу john Найти все сообщения от john
  № 4  
Ответить с цитированием
john
МЕГАФЛЭШЕР

Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
меня в последнее время цепляют контекстно зависимые операции, добавляю это в MPS поддержку AS

например

Код AS1/AS2:
for each (var e:Element in list) { 
  trace(e.index);
}
index здесь не элемент языка, а специальная конструкция "операция"
генератор кода конвертирует этот код в

Код AS1/AS2:
var listIndex:int = 0;
for each (var e:Element in list){ 
  listIndex++;
  trace(listIndex);
}
так же легко можно сделать и variableName
возможно такая конструкция и нужна, но чаще всего просто при логгинге.

Код AS1/AS2:
trace(e.variableName + ": " + e);
а еще проще сделать какую конструкцию вида

Код AS1/AS2:
tracevar e; // превратится в trace("e: " + e);


Последний раз редактировалось john; 12.08.2009 в 23:57.
Старый 12.08.2009, 23:37
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 5  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
А какой в этом смысл? Это ж не питон, с извращенными хитросплетениями, тут все на уровень интеллигентнее.

Скажем так, это просто не нужно.
__________________
Дело не в тебе

Старый 12.08.2009, 23:56
john вне форума Посмотреть профиль Отправить личное сообщение для john Посетить домашнюю страницу john Найти все сообщения от john
  № 6  
Ответить с цитированием
john
МЕГАФЛЭШЕР

Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
Цитата:
Сообщение от AL.exe Посмотреть сообщение
А какой в этом смысл? Это ж не питон, с извращенными хитросплетениями, тут все на уровень интеллигентнее.
Все меняется
Но соглашусь что variableName наверное не нужно.


Последний раз редактировалось john; 13.08.2009 в 00:00.
Старый 13.08.2009, 10:50
_KVA_ вне форума Посмотреть профиль Отправить личное сообщение для _KVA_ Посетить домашнюю страницу _KVA_ Найти все сообщения от _KVA_
  № 7  
Ответить с цитированием
_KVA_
 
Аватар для _KVA_

Регистрация: Aug 2009
Адрес: Earth
Сообщений: 41
4: mry, WRC_S, john, AL.exe

хотел попроще реализовать запись в Local Shared Objects (LSO)...

например, если необходимо сохранять различные переменные в LSO,
то необходимо так же указывать объекту LSO.data какое-то свойство,
что бы в это свойство записать значение переменной

т.е. если необходимо сохранить переменную dd, то пишем
LSO.data.dd = dd;

если необходимо сохранить переменную kk, то пишем
LSO.data.kk = kk;

но т.к. для сохранения в LSO использую отдельный метод (вынесены различные проверки, в примере -- метод saveLSO), то приходится писать так
saveLSO("dd", dd);
saveLSO("kk", kk);

красивше было бы так
saveLSO(dd.name, dd);
saveLSO(kk.name, kk);
(если в дальнейшем придется изменить название переменной, а это делаю автоматически во всем коде через рефакторинг в FDT, то я избегаю проблемы,
когда текстовое значение имени переменной не будет изменено и придется ручками копаться, а это уже лишние пальце-движения и возможные проблемы)



Пример в целом, где хотелось бы иметь возможность определять собственное имя переменной:

Код AS3:
var dd : uint;
var kk : String;
...
...
 
saveLSO(dd.name, dd);
saveLSO(kk.name, kk);
...
...
 
 
// метод сохраняющий данные в Local Shared Objects
function saveLSO($varName : String, $varValue : Object){
    // разные проверки
    // еще проверки :)
 
    // непосредственно сохранение
    LSO.data[$varName] = $varValue;
}
хотя наверняка есть другой красивый подход решить задачу с "интеллигентной" записью в LSO?

Старый 13.08.2009, 11:14
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 8  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
trace(describeType(this).method.(name() == "saveLSO").toXMLString());
* Погарячился, имена параметров не хранятся. Так что в конкретном случае - никак. Их просто не существует в скомпилированой SWF.

Или как-то так. А вообще не понятно почему вы записываете переменные - создайте объект со свойствами и его и записывайте - всякие проблемы с рефакторингом и т.п. просто не возникнут.

ЗЫ. Не используйте $ где не нужно, он совсем для других целей.
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 13.08.2009 в 11:29.
Старый 13.08.2009, 12:45
_KVA_ вне форума Посмотреть профиль Отправить личное сообщение для _KVA_ Посетить домашнюю страницу _KVA_ Найти все сообщения от _KVA_
  № 9  
Ответить с цитированием
_KVA_
 
Аватар для _KVA_

Регистрация: Aug 2009
Адрес: Earth
Сообщений: 41
4: wvxvw

>>создайте объект со свойствами и его и записывайте
как вариант, сенкс

Старый 13.08.2009, 13:45
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 10  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
создайте объект со свойствами и его и записывайте
Совсем с ума посходили. Создавать объект для хранения числа, потому, что автору кажется, что dd.name красивее 'dd'?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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