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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.01.2012, 00:50
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 41  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
ну работать то будет ясное дело ) но это определенно глубоко и мрачно
__________________
Марк Tween

Старый 31.01.2012, 01:07
firuz вне форума Посмотреть профиль Отправить личное сообщение для firuz Посетить домашнюю страницу firuz Найти все сообщения от firuz
  № 42  
Ответить с цитированием
firuz
 
Аватар для firuz

Регистрация: Feb 2010
Адрес: YcBvKFtbbu
Сообщений: 94
Отправить сообщение для firuz с помощью ICQ Отправить сообщение для firuz с помощью Skype™
ну почму же мрачно? рекурсия - это класс
__________________
[censored]
Фриланс

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

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Цитата:
Сообщение от firuz Посмотреть сообщение
ну почму же мрачно? рекурсия - это класс
Не считаю в данном случае необходимым использование рекурсии. Это медленнее, чем обычный цикл.

Добавлено через 17 минут
И использование Math.round:
Код AS3:
var ran:Number = Math.round(Math.random() * (_max - _min)) + _min;
неуместно. Тут должен быть Math.floor (раз результат приводится к Number). И нужно добавить единичку к (_max - _min), так уж повелось в данной теме, что результат может быть равен _max.

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

Регистрация: Feb 2010
Адрес: YcBvKFtbbu
Сообщений: 94
Отправить сообщение для firuz с помощью ICQ Отправить сообщение для firuz с помощью Skype™
Цитата:
Не считаю в данном случае необходимым использование рекурсии. Это медленнее, чем обычный цикл.
Согласен, это медленнее. Но всегда существует тонкая грань между скоростью работы и изящностью кода. И издеваться над собой ради скорости выполнения в местах, где это совершенно и не обязательно я не вижу смысла. Следовательно предложил и такой вариант.

По поводу Math.floor. Зачем? Так он как раз и не вернет вам max. И при чем тут Number. Результатом и round'a и floor'a является Number. Объясните, может я не понимаю и уперся как баран
Ну а по поводу единички. Это понятно, если floor, то да, для максимума нужна единичка.Но этот вариант и так возвращает все от _min до _max включительно и без того

Код:
Случайное число  10
Случайное число  9
Выбросить  3
Случайное число  1
Случайное число  8
Случайное число  7
Выбросить  3
Случайное число  7
Случайное число  7
Случайное число  8
Случайное число  7
Случайное число  4
Случайное число  0
Случайное число  6
И если уж на то пошло round быстрее
__________________
[censored]
Фриланс


Последний раз редактировалось firuz; 31.01.2012 в 12:34.
Старый 31.01.2012, 12:54
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 45  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

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

Старый 31.01.2012, 12:54
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 46  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
То есть отрезать циферки после запятой медленнее, чем найти ближайшее целое?
И если уж на то пошло int быстрее.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 31.01.2012, 13:32
firuz вне форума Посмотреть профиль Отправить личное сообщение для firuz Посетить домашнюю страницу firuz Найти все сообщения от firuz
  № 47  
Ответить с цитированием
firuz
 
Аватар для firuz

Регистрация: Feb 2010
Адрес: YcBvKFtbbu
Сообщений: 94
Отправить сообщение для firuz с помощью ICQ Отправить сообщение для firuz с помощью Skype™
ну ладно. как хотите.
по поводу заплатки и изящности все же не совсем согласен.

когда-то читал статью про рекурсивные функции и их применение. Хорошая статья была.
Но это мнение всего одного.
Ну ок.

Всем спасибо и удачи.
__________________
[censored]
Фриланс

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Цитата:
Сообщение от firuz Посмотреть сообщение
ну ладно. как хотите.
по поводу заплатки и изящности все же не совсем согласен.
Не надо делать нам одолжение
Заплатка, потому что:
А) Вместо одного четкого решения, которое здесь возможно, вы предлагаете делать наугад - "А вдруг повезет и число не будет запретным. Черт! Ну ладно, давайте еще раз попробуем."
Б) Если уж и делать с повторами, то рекурсия здесь просто урод на фоне while. Который, кстати, был предложен в самом первом ответе.

PS. Мне больше нравится вариант с массивом. По сути, выбор кроме одного числа, это частный случай выбора среди произвольного набора чисел. И вариант с массивом позволяет легко к нему перейти.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 31.01.2012, 14:05
firuz вне форума Посмотреть профиль Отправить личное сообщение для firuz Посетить домашнюю страницу firuz Найти все сообщения от firuz
  № 49  
Ответить с цитированием
firuz
 
Аватар для firuz

Регистрация: Feb 2010
Адрес: YcBvKFtbbu
Сообщений: 94
Отправить сообщение для firuz с помощью ICQ Отправить сообщение для firuz с помощью Skype™
Цитата:
PS. Мне больше нравится вариант с массивом. По сути, выбор кроме одного числа, это частный случай выбора среди произвольного набора чисел. И вариант с массивом позволяет легко к нему перейти.
Вот тут с вами соглашусь. Тоже думал, что если чисел будет несколько, то вариант с рекурсией совсем уж ударит в грязь лицом. А с массивами действительно будет лучше.

P.S. одолжения? о чем это вы?
__________________
[censored]
Фриланс

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код AS3:
ну почму же мрачно? рекурсия - это класс
Ну так Кузя с универа оценивал картины))) И я имел ввиду не про рекурсию, а про запись var a = 5 , return a ) вместо return 5
__________________
Марк Tween

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

Теги
random

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

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


 


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


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