Руководство по actionscript. часть 2, стр. 117

Синтаксические правила, применяемые к идентификаторам, не распространяются на переменные, которые создаются с использованием оператора [ ]. Например, следующий код создает динамическую переменную экземпляра, имя которой начинается с цифры:

var info:Object = new Object( ); info["411"] = «Information Line»;

Использование оператора «точка» (.) для создания той же переменной вызовет ошибку, поскольку такая запись нарушает синтаксические правила, применяемые к идентификаторам:

var info.-Object = new Object ( );

info.411 = «Information Line»; // ОШИБКА! Идентификаторы не должны

// начинаться с цифры

Стоит отметить, что описанная методика может использоваться для обращения не только к динамическим переменным экземпляра, но и к любым типам переменных и методов. Однако наиболее часто она применяется при работе именно с динамическими переменными экземпляра. Следующий раздел демонстрирует использование динамических обращений в практической ситуации: для создания справочной таблицы.

Использование динамических переменных экземпляра для создания справочных таблиц

Справочная таблица — это структура данных, которая связывает набор имен с соответствующим набором значений. Например, следующий псевдокод демонстрирует справочную таблицу, которая представляет меню (приводится по-русски):

закуска: маисовые чипсы

основное блюдо: лепешка с начинкой из бобов

десерт: пирожное

Чтобы представить данную справочную таблицу с помощью динамических переменных экземпляра, можно использовать следующий код:

var meal:0bject = new Object( ); meal. appetizer = «tortilla chips»; meal. maincourse = «bean burrito»; meal. dessert = «cake»;

Теперь рассмотрим более сложный сценарий. Представьте приложение для инвентаризации книг в книжном магазине, которое позволяет пользователю искать книги по номеру ISBN. Информация о каждой книге загружается с внешнего сервера. Чтобы минимизировать количество обращений к серверу, приложение загружает за раз информацию о 500 книгах. Для упрощения будем полагать, что информация о каждой книге представлена в виде отдельной строки, имеющей следующий формат:

«Price: $19.99. Title: Path of the Paddle»

Для хранения загруженной информации о книге в программе на языке ActionScript создадим экземпляр класса Ob j ect, который будет служить справочной таблицей для книг:

var bookList:Object = new 0bject( ):

Загруженную информацию о каждой книге мы присваиваем новой динамической переменной экземпляра созданного объекта bookList. Имя каждой переменной соответствует ISBN-номеру книги с предшествующей строкой «isbn». Например, переменная для книги с ISBN-номером 155209328Х будет называться isbnl5520 932 8X. Следующий код демонстрирует создание динамической переменной экземпляра для данной книги в том случае, если бы мы заранее знали ее ISBN-номер:

bookList. isbnl55209328X = «Price: $19.95. Title: Path of the Paddle»;

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

var bookData:String = «155209328X~Price: $19.95. Title: Path of the Paddle» + «—»

+ «0072231726-Price: $24.95. Title: High Score!»;

Чтобы преобразовать загруженные данные о книгах из строки в массив книг для обработки, воспользуемся методом split ( ) класса String, как показано в следующем коде:

var bookDataArray. Array = bookData. split(«—»):

Для преобразования массива книг в справочную таблицу используем следующий код:

// Создаем переменную, которая будет хранить информацию о каждой книге // в процессе обработки var book:Array;

// Выполнить цикл один раз для каждого элемента в массиве книг for (var i:int = 0; i < bookdataarray.length; i++) {

// Преобразуем текущий элемент массива из строки в собственный массив. // Например, строка:

// «155209328X~Price: $19.95. Title: Path of the Paddle» // становится массивом:

// ["155209328X", "Price: $19.95. Title: Path of the Paddle"] book = bookDataArray[i].split(«~»);

// Создаем динамическую переменную экземпляра, имя которой соответствует

// ISBN-номеру текущего элемента в массиве книг, и присваиваем этой

// переменной описание текущего элемента в массиве. Обратите внимание, что

// ISBN-номер представлен выражением book[0], а описание -

// выражением Ьоок[1].

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.33
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.74
  • 29.07.2010">Начало начал
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 123
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 138
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.140
  • 22.07.2011">Интернет – кладезь для меломанов
  • 12.03.2011">Руководство по actionscript. часть 3, стр. 118
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.68
  • 23.07.2011">Дизайнеры помогут преобразить любое жилье
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.58
  • 14.07.2011">Продвижение неизбежно
  • 09.06.2011">Acer выпустит маленький ноутбук-трансформер
  • 26.02.2011">Руководство по actionscript. часть 6, стр. 062
  • 07.03.2011">Руководство по actionscript. часть 4, стр. 119
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...