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

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

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

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
По умолчанию Не вызывается arguments

Привет.
У меня не вызывается arguments не из FD, не из IDE. Может есть какая хитрость?

Старый 13.11.2009, 19:33
GentleFLASH вне форума Посмотреть профиль Отправить личное сообщение для GentleFLASH Найти все сообщения от GentleFLASH
  № 2  
Ответить с цитированием
GentleFLASH

Регистрация: Apr 2009
Сообщений: 117
смотря как и откуда вызывать )

Старый 13.11.2009, 23:33
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 3  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
В AS3 всё немного поменялось.

1) Этот пример
Код AS3:
function f(a:Number, b:Number, c:Number):void{
	trace(arguments);
}
 
f(1, 2, 3); //выводит 1, 2, 3
откомпилится и сработает без ошибок.

2) Этот
Код AS3:
function f():void{
	trace(arguments);
}
 
f(1, 2, 3); //ERROR
вызовет ошибку компиляции, т.к. в AS3 вы не можете передавать произвольное количество параметров, явно не указав на это.

3) Следующий пример
Код AS3:
function f(...args:Array):void{
	trace(arguments); //ERROR
}
 
f(1, 2, 3);
также вызовет ошибку компиляции, т.к. arguments у вас теперь называется args.

4) А вот этот
Код AS3:
function f(...args:Array):void{
	trace(args);
}
 
f(1, 2, 3); //выводит 1, 2, 3
заработает как надо.

P.S. Мне осталось непонятным, что делать в данной ситуации:
Код AS3:
function f(a:Number, ...args:Array):void{
	trace('args: ' + args);
}
 
f(1, 2, 3); //выводит args: 2, 3
Понятно, то первый аргумент доступен через переменную a, но нельзя ли как-нибудь обратиться ко всем аргументам сразу, в виде массива? Я, помнится, когда-то пробовал поэкспериментировать, но так ничего из этого и не вышло.


Последний раз редактировалось SamFR; 13.11.2009 в 23:35.
Старый 14.11.2009, 19:42
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Код AS3:
args.shift(a);
?

Старый 14.11.2009, 19:55
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 5  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Ну эт понятно. Нет, я говорил о другом. Представим, что таких параметров... ну 10 хотя бы

На самом деле, практической пользы в этом особой нет, просто интересно)

Старый 15.11.2009, 00:04
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 6  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Код AS3:
args.shift(a);
?
args.unshift(a);

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

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

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


 


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


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