Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Простой вопрос по функциям (http://www.flasher.ru/forum/showthread.php?t=97573)

Dimon© 24.06.2007 14:46

Простой вопрос по функциям
 
Ситуация такая:
есть довольно много переменных, которые нужно изменить одним и тем же образом (для примера, умножим каждую переменную на число 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);, но это, наверное, каряво.(хотя у меня даже когда каряво, ошибки выдаёт)
Подскажите, как реализовать данную задачу.

BigDan 24.06.2007 14:49

ты умножаешь аргумент на два, а не переменные, поэтому ничего не меняется. В данном случае x - это не ссылка.

Dimon© 24.06.2007 14:50

получилось, но каряво
 
Код:

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);


BigDan 24.06.2007 14:51

это не коряво, а правильно! так и должно быть....

etc 24.06.2007 15:15

Данные простых типов не имеют ссылки.


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

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