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

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

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

Регистрация: Mar 2013
Сообщений: 290
По умолчанию Array: передача массива в функцию по дефолту

Есть несколько массивов, содержащих в себе мувиклипы, допустим:
Код AS1/AS2:
mcArray1 = new Array(); 
mcArray2 = new Array(); 
mcArray3 = new Array(); 
mcArray4 = new Array(); 
mcArray5 = new Array();
Есть функция, которая в качестве параметра принимает произвольный массив, допустим:
Код AS3:
private function mcPlayer(arr:Array)
{
   //  ...
}
И допустим, в некоторый момент нужно вызвать эту функцию, не передавая ей конкретное значение массива.
Чтобы она сама выбрала некое дефолтное значение. Получится, например, так:

Код AS3:
mcPlayer();
а функцию, стало быть, нужно переопределить так:
Код AS3:
private function mcPlayer(arr:Array = mcArray1)
{
   //  ...
}
Однако, получаем ошибку:
Цитата:
1047: Parameter initializer unknown or is not a compile-time constant.
Возникают вопросы:
- что не так с передачей дефолтного параметра?
- каким образом, по классике, решается подобная задача?

Старый 03.09.2013, 14:04
PsixokoT вне форума Посмотреть профиль Отправить личное сообщение для PsixokoT Найти все сообщения от PsixokoT
  № 2  
Ответить с цитированием
PsixokoT

Регистрация: May 2008
Сообщений: 63
Код AS3:
private function mcPlayer(arr:Array = null)
{
   if (!arr) arr = mcArray1;
   //  ...
}

Старый 03.09.2013, 14:13
Fogflasher вне форума Посмотреть профиль Отправить личное сообщение для Fogflasher Найти все сообщения от Fogflasher
  № 3  
Ответить с цитированием
Fogflasher

Регистрация: Mar 2013
Сообщений: 290
PsixokoT, изящно : )

Попробовал, всё работает, спасибо.

Выходит, напрямую объекты нельзя передавать...

Старый 03.09.2013, 14:25
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 4  
Ответить с цитированием
AlexLucas
[+1 05.11.12]
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
Можно только объекты примитивных типов
http://help.adobe.com/en_US/as3/mobi...7189-7fff.html
__________________
Oomph

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

Теги
array , default , массив , передача , функция
Опции темы
Опции просмотра

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

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


 


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


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