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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 11.06.2004, 02:52
olkina вне форума Посмотреть профиль Отправить личное сообщение для olkina Найти все сообщения от olkina
  № 1  
olkina
 
Аватар для olkina

Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
По умолчанию Hashtable

В ActionScript правда нет Hashtable или я просто невнимательно читаю (R)TFM?

Старый 11.06.2004, 03:05
Dindin вне форума Посмотреть профиль Отправить личное сообщение для Dindin Посетить домашнюю страницу Dindin Найти все сообщения от Dindin
  № 2  
Dindin
 
Аватар для Dindin

Регистрация: Feb 2004
Адрес: на колокольне Любит: плеваться
Сообщений: 1,769
Отправить сообщение для Dindin с помощью ICQ
Это смотря для чего ты хочешь HashTable использовать
__________________
судью - на мыло, из игроков - вить веревки.

Старый 11.06.2004, 03:07
olkina вне форума Посмотреть профиль Отправить личное сообщение для olkina Найти все сообщения от olkina
  № 3  
olkina
 
Аватар для olkina

Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
Для того чтобы было удобно находить значение по ключу.

Старый 11.06.2004, 03:21
Dindin вне форума Посмотреть профиль Отправить личное сообщение для Dindin Посетить домашнюю страницу Dindin Найти все сообщения от Dindin
  № 4  
Dindin
 
Аватар для Dindin

Регистрация: Feb 2004
Адрес: на колокольне Любит: плеваться
Сообщений: 1,769
Отправить сообщение для Dindin с помощью ICQ
Есть ассоциированные массивы:
Код:
Object.prototype.setHand = function(tool, worker) {	
	this.tool = tool;
	this.worker = worker;
};
obj = new Array();
obj['param1'] = new setHand(true, false);
obj['param2'] = new setHand(false, true);
obj['controller'] = new setHand(true, true);
for (element in obj) {
	trace("obj['"+element+"']:");
	trace('tool='+obj[element].tool);
	trace('worker='+obj[element].worker);
}
__________________
судью - на мыло, из игроков - вить веревки.

Старый 11.06.2004, 03:33
olkina вне форума Посмотреть профиль Отправить личное сообщение для olkina Найти все сообщения от olkina
  № 5  
olkina
 
Аватар для olkina

Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
Вот. А почему-то побоялась ими пользоваться. В Help-е я про них ничего не нашла и решила, что они какие-то недоработанные, типа побочного эффекта обычного массива.

Мои подозрения подкрепилмсь тем, что сколько бы я элементов таким образом ни добавляла, длина массива все равно остается равной нулю. Исключение составляли те случаи, когда в самом ключе содержалось число - например, если я добавляю элемент по ключу "id_21", то длина массива сразу станет равной 22, даже если я добавила только два элемента.

Фух.

Старый 11.06.2004, 03:50
Dindin вне форума Посмотреть профиль Отправить личное сообщение для Dindin Посетить домашнюю страницу Dindin Найти все сообщения от Dindin
  № 6  
Dindin
 
Аватар для Dindin

Регистрация: Feb 2004
Адрес: на колокольне Любит: плеваться
Сообщений: 1,769
Отправить сообщение для Dindin с помощью ICQ
Цитата:
Оригинал написал(а) olkina
Исключение составляли те случаи, когда в самом ключе содержалось число - например, если я добавляю элемент по ключу "id_21", то длина массива сразу станет равной 22, даже если я добавила только два элемента.
Фух.
Странный эффект, у меня такого не наблюдается. Вообще говоря, для ассоциированного массива неприменимо определение его длинны через свойство Array.length:
Цитата:
Array.length
Availability
Flash Player 5.

Usage
my_array.length

Description
Property; a nonzero-based integer specifying the number of elements in the array. This property is automatically updated when new elements are added to the array. When you assign a value to an array element (for example, my_array[index] = value), if index is a number, and index+1 is greater than the length property , the length property is updated to index+1.
Зато, есть очень удобные методы Array.sort() и Array.sortOn().

А свойство Array.length можно переопределить для любого типа массива.
__________________
судью - на мыло, из игроков - вить веревки.

Старый 11.06.2004, 04:04
olkina вне форума Посмотреть профиль Отправить личное сообщение для olkina Найти все сообщения от olkina
  № 7  
olkina
 
Аватар для olkina

Регистрация: Apr 2004
Адрес: Ramat Gan, Israel
Сообщений: 30
Цитата:
if index is a number, and index+1 is greater than the length property
Да, этот момент я, конечно проморгала. Зато в описании Array class черным по белому написано: An array is an object whose properties are identified by a number representing their position in the array. This number is referred to as the index. И ни одного примера на associative array...

Короче, они тут сами чего-то недоработали.

Anyway, большое спасибо за помощь!

Старый 12.06.2004, 01:19
Nucer вне форума Посмотреть профиль Отправить личное сообщение для Nucer Посетить домашнюю страницу Nucer Найти все сообщения от Nucer
  № 8  
Nucer
[++]
 
Аватар для Nucer

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 839
Отправить сообщение для Nucer с помощью ICQ
Dindin , не дури людей. Объекты отдельно, массивы отдельно.

Старый 12.06.2004, 11:29
iLoveYou вне форума Посмотреть профиль Отправить личное сообщение для iLoveYou Найти все сообщения от iLoveYou
  № 9  
iLoveYou
wanted

Регистрация: Sep 2002
Сообщений: 1,737
Цитата:
Оригинал написал(а) Nucer
Dindin , не дури людей. Объекты отдельно, массивы отдельно.
слыышь, уважаемый
раз отдельно, объясни нам, плиз, что такое объект и что такое массив, ага
__________________
вот тебе, революционный единоличник! вот тебе кулачество! вот тебе Союзкиножурнал!

Старый 12.06.2004, 18:35
Nucer вне форума Посмотреть профиль Отправить личное сообщение для Nucer Посетить домашнюю страницу Nucer Найти все сообщения от Nucer
  № 10  
Nucer
[++]
 
Аватар для Nucer

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 839
Отправить сообщение для Nucer с помощью ICQ
Ну да, криво сказал. Я имел ввиду, что в классе Array нумерация элементов возможна только цифрами. И что обращение к элементу в классе Array и обращение к любому объекту с переменной в качестве его имени - это разные вещи.

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

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

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


 


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


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