Форум 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)
-   -   Динамическое создание Function... (http://www.flasher.ru/forum/showthread.php?t=67322)

Dracula_DIS 30.07.2005 22:24

Динамическое создание Function...
 
Возможно ли динамически создать function?

смысл. например есть Y=X*X, создаю класс в котором должна эта матиматическая функция обрабатываться, т.е. подставляем X выдает cоответствующий Y. в принципе сие есть
function fun(x:Number):Number{return x*x} но это надо задавать вне класса и такая форма не удобна. есть ли способ просто как-то передать Х*Х в обработчик класса который преобразует как-то переданное в полноценную функцию. может кто знает?

iNils 31.07.2005 00:05

а почему не удобна?

Dracula_DIS 31.07.2005 00:10

Цитата:

Сообщение от iNils
а почему не удобна?

ну допустим что формула задается из вне...

iNils 31.07.2005 00:14

ну тогда пусть в классе будет переменная которая содержит ссылку на функцию. тогда можно для каждого экземпляра класса задавать свою функцию.

Dracula_DIS 31.07.2005 00:30

ссылку на какую функцию?
надо сделать так чтобы обращение к классу было вроде этого:

myFunc = new Func(x*x)

потом переработать полученное и обрабатывать его как обычную функцию.
допустим никаких данных кроме строки х*х вне класса нет. как быть?

вообще как можно передавать ссылку на function в класс?

iNils 31.07.2005 00:42

Ты ведь знаешь что подгружать код в swf нельзя. Код должен быть заранее скопилирован. Если ты динамически задаешь формулу, то тебе придется писать парсер для обработки строки с формулой.

и ссылку на фунцкию ты передаешь не в класс, а в его экземпляр (пример: setInterval)

Dracula_DIS 31.07.2005 00:48

ок. допустим есть у нас парсер который определяет что "х*х" есть х*х как мне эту строчку передать в класс?

iNils 31.07.2005 00:53

да забудь ты про класс. есть только экземпляр класса
и строчка передается так

экземпляр = new класс ("формула")

Dracula_DIS 31.07.2005 01:04

как мне потом использывать твою "формула" ?

если у меня есть
function f(x:Number):Number{
return x*x }

то я, чтобы получить ответ обращаюсь так: y = f(5)
а если у меня просто y=x*x то как?

KidsKilla 31.07.2005 01:08

Цитата:

Сообщение от Dracula_DIS
как мне потом использывать твою "формула" ?

если у меня есть
function f(x:Number):Number{
return x*x }

то я, чтобы получить ответ обращаюсь так: y = f(5)
а если у меня просто y=x*x то как?

чуве, ты в курсе, что такое ПАРСЕР?


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

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