Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Увидеть локальную переменную (http://www.flasher.ru/forum/showthread.php?t=133888)

ArtDir 15.12.2009 20:57

Увидеть локальную переменную
 
Грубо говоря:

Код AS3:

function my_func (){
var my_var;
}

Если нет возможности вынести my_var за пределы my_func, есть ли способ запросить переменную, объявленную в функции, из другого кадра?
Или так ее объявить, что бы она была видна во всем коде?

PS. объявить ее вне функции - не предлагать.

Psycho Tiger 15.12.2009 21:06

возвращать значение разве что.
Код AS3:

function my_func():*{
var my_var:*;
...
return my_var;
}


ArtDir 15.12.2009 21:14

Psycho Tiger, я так понял оно возвращает ее внутри той же функции? Или нет?
Мне нужно возвратить ее извне...

Код:

1051: Return value must be undefined.
1120: Access of undefined property uname.

Из вне он ее уже не помнит :(

Psycho Tiger 15.12.2009 21:26

Нет. Пример, возвращает даже из другого класса:
SomeClass.as:
Код AS3:

public static function returnString():String{
return "Hello kidz";
}

Код AS3:

trace(SomeClass.returnString()); //Output: Hello Kidz

Код:

1120: Access of undefined property uname.
Вы тут забыли переменную определить.

Код AS1/AS2:

1051: Return value must be undefined.

А тут с типизацией проблемы. Объявите тип какой возвратить хотите (void - когда возвращать ничего не нужно)

ArtDir 15.12.2009 21:45

Код:

1083: Syntax error: package is unexpected.

DarkLight 15.12.2009 22:21

Вы, случаем, не пытаетесь в кадре класс написать? Он должен быть в отдельном файле.

ArtDir 15.12.2009 22:24

Цитата:

возвращает даже из другого класса
а без этого никак? мне нужно всего лишь из функции возвратить...
Цитата:

Вы, случаем, не пытаетесь в кадре класс написать?
да именно так... прошу прощенья, я не знаю, как правильно :(

Psycho Tiger 15.12.2009 22:50

Я лишь показал, что даже из другого класса возвращает значение, т.е. оно вернётся при правильном использовании 100%...
Цитата:

да именно так... прошу прощенья, я не знаю, как правильно
Пишите в классах. Это красивее, надежнее и быстрее (в плане написания программы) и правильнее. И вопрос сам отпадёт.


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

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