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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.04.2013, 18:47
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 21  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Цитата:
Сообщение от Александр Мостовой Посмотреть сообщение
С xml работать впринципе можно как с быстрым промежуточным вариантом, но только если следовать правилу: изменять его только через методы и сеттеры соотвтетствующего объекта-хранителей этого XML.
Тогда не сложно будет в случае необходимости перейти на более формализованную структуру.
Насчет сеттеров и геттеров. XML вообще должен "торчать" только из модели. Во всех остальных случаях должна быть инкапсуляция. XML может и избыточен в описании, но он с лихвой перекрывает избыточность кодирования другими способами.

Старый 14.04.2013, 12:54
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 22  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Цитата:
Сообщение от Babylon Посмотреть сообщение
Psycho Tiger,
var xml=<screens>
<screen id="1" name="gameScreen"/>
<screen id="2" name="loadScreen"/>
</screens>
var screen:XMLList=xml.screen.(@id=='1').
Ну в принципе да, но это бесполезно если не подразумевается загрузка отдельных экранов через разные swf, например.
Ну, то есть, если этот XML вшивать в флешку – получим ряд проблем. Например, никто не гарантирует уникальность ID'шника (он может не существовать, а может существовать аж 2), проблемы из за рефлекшена (в моём примере мы жестко ссылаемся на класс – мистайп контроллируется компилятором, в XML – строки).

У меня вообще отношение к XML'у весьма своеобразное. e4x одновременно и тащит, и требует особой внимательности. Достаточно часто и обидно падаю по RTE из за несовпадения XML / XMLList типов. По идее, это должно контроллироваться компилятором – почему он не контроллирует – не понятно...
Вообще, например, в Ruby такими штуками являются YAML файлы. Что то вроде HAML'a для XML'a, например
Код:
key1:
  key2:
    value1: 'hello'
    value2: 'world'
Подобная штука для флеша на каком-нибудь нативном уровне была бы просто чудесна. XML действительно избыточен, в 2 из 3 случаев уместнее использовать что - то такое. Некоторый Object, который удобоварим для чтения-заполенения.

Старый 15.04.2013, 00:54
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 23  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
XMLList это список xml нод, а XML - это xml нода. Компилятор здесь не при делах. Он определяет несоответствие типов, и делает абсолютно корректно.
E4X появился только в AS3. До этого были костыли типа XMLtoOutput , XML2Object и др. Поэтому появление в стандарте XMLList было ожидаемо. XML в первую очередь нужен для агрегации и запросов. На JSON агрегацию также технично не сделаешь, а jQuery для AS тоже нет, в отличии от XPath

Старый 15.04.2013, 07:24
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 24  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
По идее, это должно контроллироваться компилятором - почему он не контроллирует – не понятно...
Потому что не знает он, что туда попадет в рантайме, будет это XML или XMLList ему по барабану

Старый 15.04.2013, 09:40
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 25  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Я просто не представляю как еще компилятор должен обработать данную ситуацию, иначе чем выдать ошибку о не соответствии типов.

Старый 15.04.2013, 11:34
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 26  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Цитата:
Сообщение от Babylon Посмотреть сообщение
Я просто не представляю как еще компилятор должен обработать данную ситуацию, иначе чем выдать ошибку о не соответствии типов.
Цитата:
Потому что не знает он, что туда попадет в рантайме, будет это XML или XMLList ему по барабану
XMLList может состоять и из одной ноды ) Поэтому это компилятор и должен контроллировать.
Это никогда не будет XML
Код:
root.node // XMLList
root.(@id == 'attr') //XMLList
А это никогда не будет XMLList'ом
Код:
root.node[0] //XML

Старый 15.04.2013, 11:53
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 27  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Компилятор же выдает предупреждение о неправильном кол-ве элементов.

Старый 15.04.2013, 21:32
Simplifier вне форума Посмотреть профиль Отправить личное сообщение для Simplifier Найти все сообщения от Simplifier
  № 28  
Ответить с цитированием
Simplifier

Регистрация: Jun 2011
Сообщений: 60
Так XML и XMLList же динамические классы, поэтому компилятор тут вообще не при делах, по идее

Старый 16.04.2013, 00:27
namespaces вне форума Посмотреть профиль Отправить личное сообщение для namespaces Найти все сообщения от namespaces
  № 29  
Ответить с цитированием
namespaces
 
Аватар для namespaces

Регистрация: Jan 2013
Сообщений: 126
Вот здесь есть хороший пример для заготовки шаблона, на начальном этапе этого хватит.
Для дальнейшего развития копайте в сторону готовых разработок, я бы посоветовал присмотреться к Gaia Framework. . Давно уже в открытом доступе.

Старый 16.04.2013, 09:46
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 30  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Цитата:
Сообщение от Babylon Посмотреть сообщение
Компилятор же выдает предупреждение о неправильном кол-ве элементов.
Хм. Ну у меня в стрикте не выдаёт

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

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

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


 


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


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