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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.04.2011, 00:33
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 11  
Ответить с цитированием
mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
Код AS3:
var classDef : Class = SuperDrawingClass;
var func : Function;
if (!!(func = classDef[functionName])) {
    func();
} else {
   throw new IllegalOperationError("element doesn't exist" , 1000);
}
предупреждая вопрос от двойном отрицании:
для пущей наглядности. без него тоже все прекрасно работает, если не убирать внутренние скобки,
хотя даже если и убрать будет работать, но компилятор будет выдавать варнинг.


Последний раз редактировалось mayakwd; 09.04.2011 в 00:47.
Старый 09.04.2011, 00:36
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 12  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
Цитата:
Ни разу не видел опереатора in вне цикла, работает?
а доки покурить?
Цитата:
так что this работать не будет
а класс вместо this, не? и я не увидел там статики.
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

Регистрация: Sep 2002
Сообщений: 30,782
Цитата:
Сообщение от in4core Посмотреть сообщение
Да что вы ?? А не стыдно вам?

Код AS3:
public class Test() {
 
  public static function a(c:String) {
 
     Test['c'+'1']();
  }
  public static function someName1() {
  trace('Я во флеше давно и даю умные советы, а так же не понимаю смысла тем')
  }
}
 
Test.a('someName');
1084: Syntax error: expecting leftbrace before leftparen.

Даже если исправить синтаксический косяк, всё равно получим value is not a function. Посему, in4core, думать перед ответом — это очень полезно.

Старый 09.04.2011, 03:58
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 14  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
Даже если исправить синтаксический косяк, всё равно получим value is not a function. Посему, in4core, думать перед ответом — это очень полезно.
У меня в дебаг плеере пашет без ошибок. да вместо 'c' надо поставить c , не доглядел, но это чисто опечатка. все остальное пашет и причем прекрасно

Старый 09.04.2011, 04:03
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 15  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
вы уже получили ответ на ваш вопрос?

Старый 09.04.2011, 04:29
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 16  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Именно так

Старый 09.04.2011, 11:09
f.g.programmer вне форума Посмотреть профиль Отправить личное сообщение для f.g.programmer Найти все сообщения от f.g.programmer
  № 17  
Ответить с цитированием
f.g.programmer
 
Аватар для f.g.programmer

блогер
Регистрация: Sep 2010
Адрес: Россия
Сообщений: 137
Записей в блоге: 3
Возможно вместо
Код AS3:
if (!!(func = classDef[functionName]))
лучше
Код AS3:
if ((func = classDef[functionName]) !== null )
или
Код AS3:
func = classDef[functionName];
if (func !== null )
разницы в работе нет, но читается легче

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Если функция приватная, не статическая, то проверить ее существование без try-catch не получится, ну или я не знаю достаточно простого способа (можно парсить байткод всех функций относящихся к классу и искать там все возможные имена и сравнивать, но это ж извращение).
__________________
Hell is the possibility of sanity

Старый 09.04.2011, 13:40
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 19  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
Если функция приватная, не статическая
Функция и статическая и приватная

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

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

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


 


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


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