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

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

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

Регистрация: Nov 2010
Сообщений: 430
По умолчанию хороший тон (for и while)

Здравствуйте.

Подскажите кто что думает по поводу:

Еще на Паскале нас учили. что прерывать цикл нехорошо, т.е. нельзя делать так

Код AS3:
for (var i:int=0; i<a; i++){
	[...]
        break;
}
а нужно делать через while:
Код AS3:
while (...){
         [...]
}
Правильно это или нет? В каких случаях лучше while, а не for с break'ом и наоборот?

Старый 06.10.2011, 15:58
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 2  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Вас не насторожило, что вам не показывали, насколько while быстрее?
Так вот - никому не верьте, сами меряйте скорость и думайте, насколько оно вам в данной ситуации для данного устройства и на данном языке подходит.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 06.10.2011, 16:20
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 3  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Монопенисуально. Если написать везде for, а потом этот же код декомпилировать, то все циклы фор будут заменены на вайл
Цитата:
Еще на Паскале нас учили. что прерывать цикл нехорошо
АС3 все-таки не паскаль.

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

блогер
Регистрация: Dec 2010
Сообщений: 237
Записей в блоге: 5
Цитата:
Сообщение от goodguy Посмотреть сообщение
все циклы фор будут заменены на вайл
Интересно! А где можно почитать про остальные особенности оптимизатора mxmlc?
__________________
Дебаггер не предлагать

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

Регистрация: Aug 2008
Адрес: Украина, город Херсон
Сообщений: 50
Отправить сообщение для StasMIX с помощью ICQ
А нам говорили, что for с break в паскале иногда не срабатывает по каким то причинам. Команда break просто пропускается. Поэтому надо было использовать в таких случаях while с целью программу сделать более надежной. Это Турбо Паскаль, может в новых версиях пофиксили но я в них не работал. А так мне кажется разницы нет. Дело вкуса. В обычном переборе от m до n лучше использовать for потому, что он нагляднее.
__________________
Я не злопамятный, я запишу


Последний раз редактировалось StasMIX; 07.10.2011 в 09:07.
Старый 07.10.2011, 09:14
flax4Noob вне форума Посмотреть профиль Отправить личное сообщение для flax4Noob Найти все сообщения от flax4Noob
  № 6  
Ответить с цитированием
flax4Noob
[+1 15.01.11]

Регистрация: Jan 2011
Сообщений: 70
Вообще-то программисты используют "break;" (и подобные конструкции на других языках) когда необходимо закончить работу цикла не завершая инструкций, которые следуют ниже по коду. Во всех остальных случаях проще и нагляднее создать условия для его корректного завершения. (для вашего примера "i:=a+1;" ) В этом отношении нет разницы какой цикл использовать. for, while, until.

Добавлено через 1 минуту
Кстати, занятно, что автор даже не рассматривает возможность существования "for" без "break" =)

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

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

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


 


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


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