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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 16.09.2002, 17:30
Aib вне форума Посмотреть профиль Отправить личное сообщение для Aib Посетить домашнюю страницу Aib Найти все сообщения от Aib
  № 71  
Aib

Регистрация: Oct 2001
Адрес: Россия, Казань
Сообщений: 270
2Infinity - Слушай, а Ты всем этим чего добиться хочешь, а главное - зачем? Только честно, угу?
__________________
The war does not determine who is right. Only who is left.

Старый 16.09.2002, 18:18
AnGL вне форума Посмотреть профиль Отправить личное сообщение для AnGL Найти все сообщения от AnGL
  № 72  
AnGL
 
Аватар для AnGL

Регистрация: Jul 2002
Адрес: Ст.-Петербург
Сообщений: 268
Как я понял, мы говорим не о чтении текстового файла swf, а о работе интерпретатора...

Рассмотрим приведенный код:

Код:
(1)
a[1]="xxx";
trace(a["1"]);

и наоборот 

(2)
a["1"]="xxx";
trace(a[1]);
Поясняю:
Код 1:
В данном случае Используется индексная адресация(!).
Байткод:

setVariable
push 'a'
getVariable
push 1, 'xxx'

Выполнение команды trace производится с конвертацией строкового типа в индекс массива(на уровне интерпретатора).

Код 2:
Компилятор байткода записывает единицу как строку "1".
Байткод:

setVariable
push 'a'
getVariable
push '1', 'xxx'

Интерпретатор, получая такую строку скорее всего конвертирует ее в индекс (по крайней мере я бы именно так писал интерпретатор).

Далее рассуждаем...
Если мы пишем:

Код:
a = new Object();
a["a"] = "xxx";
Байткод:

constants 'a', 'Object', 'xxx'
push 'a', 0.0, 'Object'
new
setVariable
push 'a'
getVariable
push 'a', 'xxx'
setMember

А если мы запишем так:
Код:
a = new Array();
a["a"] = "xxx";
Байткод:

constants 'a', 'Array', 'xxx'
push 'a', 0.0, 'Array'
new
setVariable
push 'a'
getVariable
push 'a', 'xxx'
setMember

По моему ясно, что в обоих случаях мы получаем объект с именем "a" и свойством "a", хотя во втором случае мы имеем доступ еще и к свойствам массива, так как(естественно) Array - есть экземпляр от Object, и любой потомок Array наследует его свойства и методы (такие как length и т.п)...

Все... По моему достаточно рассуждений.

С уважением...

Старый 16.09.2002, 19:01
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 73  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
По умолчанию Re: ЧТОЖ, становится ИНТЕРЕСНО

Цитата:
Оригинал написал(а) infinity
пытаюсь объяснить всем этим флудерам
хы-хы-хыыыыы..... 8)))))))

благодарю AnGL'а за комментарии к байткоду и присоединяюсь к вопросу Aib'a... верю в Ваш творческий литературный энтузиазм :)))))

Старый 16.09.2002, 21:11
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 74  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
По умолчанию Re: ЧТОЖ, становится ИНТЕРЕСНО

Цитата:
Оригинал написал(а) infinity
2 Crazy
вот это наверно великого гуру и учителя зацепил мой топик,
что он снизошел до того, что обозвал простого смертного ламером
Не обозвал, а обозначил. Что вовсе не то же самое.

Все, что ты онаписал еще в третьем письме этого треда, есть свойство большинства скриптовых языков -- от PHP до Tcl. И как показывает практика, работает это хоть и медленнее доступа по целочисленному индексу, но с вполне достаточной скоростью.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 17.09.2002, 12:32
Kodim вне форума Посмотреть профиль Отправить личное сообщение для Kodim Найти все сообщения от Kodim
  № 75  
Kodim

Регистрация: Mar 2002
Адрес: Россия, Курск
Сообщений: 20
Ну написали, еле до конца дошел!

Старый 23.09.2002, 15:51
infinity вне форума Посмотреть профиль Отправить личное сообщение для infinity Найти все сообщения от infinity
  № 76  
infinity

Регистрация: Feb 2002
Адрес: Kyiv
Сообщений: 173
Cool очередная серия...

не прошло и года...
сорри за длительное отсутствие - с инетом подсос

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

но то, что переменные адресуются по строковому ключу, это факт и я рад что НАКОНЕЦ ТО все согласились
с этим. только вот рассказывают, что это их устраивает (соответствующая производительность) ну да ладно, другого я и не ожидал.

странно, что вас всех интересует, чего я хочу добится.
итак, внимание! ответ:

а собсвенно говоря НИЧЕГО я добится не хочу, да и собственно говоря, чего можно вообще добится на форуме?
морального удовлетворения всеобщего признания? глупости.

если интересно, скажу, что открыл эту тему, еще когда работал флешером, и назрела куча недовольства по поводу реализации плеера (вирт.машина или что-там, не важно).
просто вопрос скриптовых движков мне был интересен и до этого, я скриптил на разных языках до этого плюс как раз писал собственный скриптовый движок в это время и паралельно используя АС сравнивал реализацию некоторых вещей в АС с возможной (теоретической, если угодно) реализацией. так вот некоторые моменты не терпели никакого сравнения если брать во внимание специфическую задачу АС.

Говоря проще, разработчики макромедии ТУПО взяли за основу - ECMA-262 спецификацию (от которой я кстати тоже не особо в восторге), которая довольно неплохо подходила в качестве скриптового языка для браузера, и вставили во флеш, не особо задумываясь о целесообразности. строковые индексы я просто для смеха привел как всего лишь один из упущений, и как реальный пример того, почему даный скриптовый язык (ECMAScript) не подходит для флеш начиная еще со спецификации.

так вот, о чем это я? ага, значит увидел я, что реализация АС оставляет желать лучшего (мой опыт в области работы со скриптовыми языками позволяет сделать определенные субъективные выводы) и поэтому решил написать здесь, чтобы проверить реакцию ярых поклонников даной технологии. начал дискуссию в шутливом тоне чтобы этот топик не пропустили, но народ меня принял за ламера, начал попускать итд, хотя мне в принципе пофиг...

если хотите, подитожу все мои мысли по поводы этой темы:
СПЕЦИФИКАЦИЯ ECMA-262(КАК ОСНОВА ACTIONSCRIPT) НЕ ПОДХОДИТ ДЛЯ ФЛЭШ В СИЛУ СПЕЦИФИЧНОСТИ ЗАДАЧ, ДЛЯ РЕШЕНИЯ КОТОРЫХ И ПРЕДНАЗНАЧЕНА ДАННАЯ ТЕХНОЛОГИЯ.

вот собственно одним предложением...
а Вы все (как истинные фанаты ) все восприняли в штыки, и всем скопом начали переубеждать меня, вместо того, чтоб понять, что я пытаюсь объяснить. (только AnGL попытался что-то объяснить, за что ему отдельное спасибо )

вот такие вот пирожки с котятами
где еще я точки над i не расставил?
__________________
нам показалось, что это конец... но оказалось, что не казалось...

Старый 24.09.2002, 02:23
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 77  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
оо.... вообще-то это должен был быть первый пост в теме
ты наконец объяснил, как умел, в чем суть всех этих буковок на предыдущих пяти страницах
ай да маладес... возьми с полки да-да, с котятами не бери - это нам

нет, серьезно... очень забавно...
ты вот такой мудрый программер,
с опытом разработки всего того бла-бла-бла и прочая и прочая,
почти месяц объяснял
нам, глупеньким фанатикам тупой спецификации
чего ты хочешь сказать
ну ладно мы тут тупые и ограниченные - но ты-то...

есть такая фишка... бритва оккама зовется...
"entia non sunt multiplicanda praeter necessitatem"
что в переводе означает:
"необходимое достаточно"
или, более точно:
"ХОРОШ ТРЕПАТЬСЯ"

Старый 25.09.2002, 13:54
infinity вне форума Посмотреть профиль Отправить личное сообщение для infinity Найти все сообщения от infinity
  № 78  
infinity

Регистрация: Feb 2002
Адрес: Kyiv
Сообщений: 173
лол
так ты то не фанат тупой спецификации? или как?
я то в принципе тупым никого не называл, но раз ты хочешь
за собой такой титул, чтож... я не возражаю

кстати не сказал бы, что ты тоже ярый поклонник строго содержательных бесед
__________________
нам показалось, что это конец... но оказалось, что не казалось...

Старый 25.09.2002, 16:13
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 79  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
Цитата:
Оригинал написал(а) infinity
я то в принципе тупым никого не называл
ах да... простите... я не совсем оценил все тонкости вашего литературного слога =)))

Цитата:
Оригинал написал(а) infinity
не сказал бы, что ты тоже ярый
это первая особенность...
вторая - я никому и не пытаюсь доказать обратное =))

Старый 25.09.2002, 17:08
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 80  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
К оппонентам infinity: вы забываете Первый Закон Спора...
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

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

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

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


 


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


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