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

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

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

Регистрация: Apr 2009
Сообщений: 30
Да не, речь о том, что примерно вот такое безобразие

Код AS3:
public function f0 ():void {
	if (statement) {
		var v0:int = 0;
		for (var n:int = 0; n < 10; n++) {
			var v1:Number = n * n;
			trace (v1);
		}
	}
}
должно оформляться таким образом:

Код AS3:
public function f0 ():void {
	var v0:int, v1:int;
	if (statement) {
		v0 = 0;
		for (var n:int = 0; n < 10; n++) {
			v1 = n * n;
			trace (v1);
		}
	}
}
Вот и все. Хотя, имхо, это уже дело вкуса, Adobe так и пишет: все объявления var автоматически переносятся в начало метода благодаря какой-то там технологии, и компилятор не будет ругаться, даже если вы напишете:

Код AS3:
public function f0 ():void {
	if (statement) {
		v0 = 0;
		for (var n:int = 0; n < 10; n++) {
			v1 = n * n;
			trace (v1);
		}
	}
	var v0:int, v1:int;
}

Старый 06.01.2010, 16:18
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 12  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
dump13, хорошо, что поправили, а че вы в дебри лезете, я ее только открыл, а она уже на старте вылетеет и нажимать ниче не надо.
Код AS3:
session started
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
	at main.engine.ui.ag::AGEditor/updateComponentsPositions()
	at main.engine.ui.ag::AGEditor/resizeHandler()
	at flash.display::Stage/set scaleMode()
	at main.engine.ui.ag::AGEditor/initialize()
	at flash.display::DisplayObjectContainer/addChild()
	at main::AGExample()
GParamPanel.createComponents(): item not found
__________________
Гоночка

Старый 06.01.2010, 16:29
dump13 вне форума Посмотреть профиль Отправить личное сообщение для dump13 Найти все сообщения от dump13
  № 13  
Ответить с цитированием
dump13

Регистрация: Apr 2009
Сообщений: 30
"Продолжить" и все, если сидите в Опере, а в Мозилке и ИЕ такого нет.

Старый 06.01.2010, 16:51
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 14  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Не нафик, продолжить...
Исправляйте, плеер после этого необработанного эррора, начинает вести себя как ему вздумается, может даже уйти в критическую ошибку.
Это можно сравнить с ситуацией. У вас нет еды, а вы хотите хавать. Пишете такую программу себе.
Код:
var еда = пошелИКупил();
хавать(еда);
а теперь катастрофа, магазина тупо нет. Те. необработанный эрор. Нажимаем продолжить. Нормально работает дальше. Чето хавает...
Подозреваю, что дальше будет критическая ошибка, главный герой может умереть от голода.
__________________
Гоночка

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Нет, скорость тут ни при чем, при компиляции все объявления переменных переносятся в начало функции, не зависимо от того где вы их объявили. Но если вы их объявляете где попало, то потом это тяжело дебажить и не понятно почему вдруг у переменных появляются значения, когда вы их там не ждете и т.п. И, я имел в виду в теле цикла, а не в условии, хотя, чесно говоря, в условии я бы тоже не объявлял

>> здесь я не совсем понял, т.е. следует писать if (someObject) {} ?
Именно.

>> обычно я избегаю повторных вызовов геттеров/сеттеров, почему у меня это происходит в каждом цикле, ума не приложу. Наверно, адоубовские хелпы виноваты.
При чем тут хелп? Вы понимаете, что во время выполнения цикла длинна массива может поменятся? Просто вы ее в данном случае не меняете - поэтому мануал тут ни при чем.

>> кто сказал? А я думал, Adobe облегчает нам жизнь
Чем, тем что вы можете писать плохо? Ну так можно и еще хуже, ES спецификация позволяет.

>> я далеко не всегда так делаю, но если после работы, уставший...
Типа набить полностью значение константы проще, чем выбрать из автокомплита
__________________
Hell is the possibility of sanity

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

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

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


 


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


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