Язык Realaxy ActionScript Editor - objectBuilder

1 view
Skip to first unread message

Евгений Потапенко

unread,
Dec 27, 2009, 5:56:04 AM12/27/09
to ruF...@googlegroups.com
собрался язык сделать. очень простой. будет использвоаться для "сборки" структуры объектов - идея пришла как проснулся - как вам? 
var anySprite:Sprite =   
           {Sprite
             with:200;
             height:  if(bind stage.with > 200){
                   return stage.with;
                 }else{
                   return 200;
                 }
             children: {TextField
                   text:"Hello Im Object Builder!"
                   with: 100%;
                   heith: 100%;
                   autoSize: true
                   }
                   {SimpleButton
                   label: "Say hello";
                   onClick : {e -> trace("hello")}
                   }
                   {Sprite
                     children: for each(var i:int in [0..100]){
                         {TextField
                           text: "anyText" + i;
                           with: 100%;
                     }
                     }
                   }
                   
           }



Евгений Потапенко



Евгений Потапенко

unread,
Dec 27, 2009, 6:26:58 AM12/27/09
to ruFlash
тут еще обсуждение - http://juick.com/potapenko/445663

Daniil Tutubalin

unread,
Dec 27, 2009, 11:05:53 PM12/27/09
to ruf...@googlegroups.com
На мой взгляд - просто здорово!

Единственная просьба: чтобы, как и в обычных инициализаторах объектов
AS, можно было использовать кавычки в названиях полей.
Типа: {"width": 100, "height": 200}

Евгений Потапенко

unread,
Dec 28, 2009, 3:36:34 AM12/28/09
to ruf...@googlegroups.com

Зачем?

foreground

unread,
Dec 28, 2009, 3:56:13 AM12/28/09
to ruf...@googlegroups.com
>Евгений Потапенко
А для некоторых стандарт (ECMA) все же гарантия безглючности.

Denis Kolyako

unread,
Dec 28, 2009, 3:58:21 AM12/28/09
to ruf...@googlegroups.com
> Зачем?


Предположу: json.

Денис Коляко
______________________________________________________________________
e...@timezero.ru | http://etcs.ru/ | http://timezero.com/


Олег Галабурда

unread,
Dec 28, 2009, 5:14:20 AM12/28/09
to ruf...@googlegroups.com
> Зачем?
Если я вдруг захочу создать объект со свойством типа
{Object
"{:/|\:}":"hello world"
}

Почему после некоторых значений стоят точка с запятой, а после других -- нет?
К примеру, после "width" стоит, а после "height" с условием или "text" не стоит.

И раз уж вы так кардинально решили всё укоротить, я не вижу смысла в
"return" в условном выражении.

Можно ли будет объявить метод в такой структуре?
{MyObject
handler: function():void{
....
}
}
и если да, то как он будет педставлен, можно ли будет указывать модификаторы?
public var handler:Function = function():....
public function handler():...

--
Oleg Galaburda
http://blog.actualwave.com/
http://jsinterface.googlecode.com/
http://guibuilder.org/

Daniil Tutubalin

unread,
Dec 28, 2009, 5:22:36 AM12/28/09
to ruf...@googlegroups.com
> Можно ли будет объявить метод в такой структуре?
> и если да, то как он будет педставлен, можно ли будет указывать модификаторы?

Такая запись - это не описание класса, а лишь способ создать экземляр
и инициализировать свойства.
Т.е.
obj = {MyObject
x: 10;
y: 20;
}
это лишь альтернативная запись для такой:
obj = new Object();
obj.x = 10;
obj.x = 20;

Соответственно, методы именно объявлять нельзя. Но присваивать - можно.
Если класс динамический, но можно "дописывать" новые методы, которые
будут, разумеется, публичными.

foreground

unread,
Dec 28, 2009, 5:31:33 AM12/28/09
to ruf...@googlegroups.com
>Daniil Tutubalin <tutu...@gmail.com> написал:

> Т.е.
> obj = {MyObject
>   x: 10;
>   y: 20;
> }
> это лишь альтернативная запись для такой:
> obj = new Object();
> obj.x = 10;
> obj.x = 20;

В первых такой:
obj = new MyObject();


obj.x = 10;
obj.x = 20;

А если у меня конструктор с параметрами?

И вот это, чето не пахнет простым условником:

>Евгений Потапенко
>...


>for each(var i:int in [0..100]){
>{TextField
>text: "anyText" + i;
>with: 100%;
>}
>}

По-моему абслоютно незачем делать новые языки (которые потом придётся
поддерживать).
Кому надо пусть хаксяют на haxe.

Олег Галабурда

unread,
Dec 28, 2009, 5:39:26 AM12/28/09
to ruf...@googlegroups.com
> По-моему абслоютно незачем делать новые языки (которые потом придётся
> поддерживать).

Согласен. Если бы это обрабатывалось в рантайме, может в этом и был бы
смысл, но в таком случае, думаю, лучше сосредоточить внимание на
удобствах редактора, которые бы делали работу на столько удобной чтоб
не было необходимости прибегать к подобным мутантам.

имхо.

Alexey Taran

unread,
Dec 28, 2009, 6:47:19 AM12/28/09
to ruf...@googlegroups.com
Согласен. Сомнительное дополнение. Код автоматом привязывается к
редактору. А если перегонять в чистый AS, придется заново разбираться
в собственном коде.

Aleksey Fomkin

unread,
Dec 28, 2009, 6:52:22 AM12/28/09
to ruf...@googlegroups.com
> По-моему абслоютно незачем делать новые языки (которые потом придётся
> поддерживать).

То, что предлагает Евгений называется предметно-ориентированным
языком. Разработка таких языков это распространенная практика, а
существующие языки не являются эталоном качества.
--
С уважением, Фомкин Алексей
Программист "Сторк"

Ivan Dembicki

unread,
Dec 28, 2009, 9:28:06 AM12/28/09
to ruf...@googlegroups.com
Hello Олег,

> Согласен. Если бы это обрабатывалось в рантайме, может в этом и был бы
> смысл, но в таком случае, думаю, лучше сосредоточить внимание на
> удобствах редактора, которые бы делали работу на столько удобной чтоб
> не было необходимости прибегать к подобным мутантам.

- это языковое расширение не имеет приоритет повышеной важности, так
что сначала сделаем редактор удобным, а уж потом позаботимся о
расширениях.

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

--
iv
http://www.bezier.ru
http://bezier.googlecode.com

Racer242

unread,
Dec 29, 2009, 12:35:35 PM12/29/09
to ruFlash
А почему не XML?

Daniil Tutubalin

unread,
Dec 29, 2009, 2:46:51 PM12/29/09
to ruf...@googlegroups.com
А будут ли виртуальные типы (вроде typedef в HaXe)?

Евгений Потапенко

unread,
Dec 30, 2009, 5:00:26 AM12/30/09
to ruf...@googlegroups.com
Это LOP - тут можно все. Каждый может добавить то что ему нужно.
Один вопрос будет ли в стандартной поставке.
А по тайпдефам я не понял если честно.
Генерики уже есть, а с ними все тоже самое, или нет?


Евгений Потапенко
eugene.joh...@gmail.com

29.12.2009, в 20:46, Daniil Tutubalin написал(а):

> А будут ли виртуальные типы (вроде typedef в HaXe)?
>

> --
> отменить подписку: ruFlash-u...@googlegroups.com
> сообщение в группу: ruF...@googlegroups.com
> страница группы: http://groups.google.com/group/ruFlash
> правила группы: http://groups.google.com/group/ruFlash/web/rules

Евгений Потапенко

unread,
Dec 30, 2009, 5:56:31 AM12/30/09
to ruf...@googlegroups.com

> Можно ли будет объявить метод в такой структуре?
> {MyObject
> handler: function():void{
> ....
> }
> }
> и если да, то как он будет педставлен, можно ли будет указывать модификаторы?
> public var handler:Function = function():....
> public function handler():...

Не думаю что это будет хорошо.
Но сделать будет можно.
Ничего не мешает создать подкласс, выделив его в структуре - .
Плюс я сделаю простой рефакторинг который быстро позволит расширить класс из objectBuilder.
Reply all
Reply to author
Forward
0 new messages