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

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

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

Регистрация: Jun 2007
Сообщений: 2
По умолчанию Простой вопрос по функциям

Ситуация такая:
есть довольно много переменных, которые нужно изменить одним и тем же образом (для примера, умножим каждую переменную на число 2).
допустим у нас 3 переменных - это a, b и c
как оформить функцию, что бы всё рабтало?

Я пробовал
Код:
a = 1;
b = 2;
c = 3;
function funct( x:Number ):Void {
	x*=2;
}
funct(a);
funct(b);
funct(c);
в таком случае переменные меняются, но после выхода из функции значения переменных остаются теми, что были до начала функции.
Понимаю, что надо сделать функцию не Void а Number, возможно, что изменение переменных будет как a = funct(a);, но это, наверное, каряво.(хотя у меня даже когда каряво, ошибки выдаёт)
Подскажите, как реализовать данную задачу.

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

Регистрация: Apr 2006
Адрес: Kiev
Сообщений: 1,675
Отправить сообщение для BigDan с помощью ICQ
ты умножаешь аргумент на два, а не переменные, поэтому ничего не меняется. В данном случае x - это не ссылка.

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

Регистрация: Jun 2007
Сообщений: 2
По умолчанию получилось, но каряво

Код:
a = 1;
b = 2;
c = 3;
function funct( x:Number ):Number {
	x*=2;
	return x;
}
a = funct(a);
b = funct(b);
c = funct(c);
trace (a);

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

Регистрация: Apr 2006
Адрес: Kiev
Сообщений: 1,675
Отправить сообщение для BigDan с помощью ICQ
это не коряво, а правильно! так и должно быть....

Старый 24.06.2007, 15:15
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Данные простых типов не имеют ссылки.

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

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

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


 


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


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