Показать сообщение отдельно
Старый 28.01.2008, 13:16
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 7  
Ответить с цитированием
chingachgoog
Banned
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Код:
arr=[]
arr['02550']=321
arr['r2-1']=123 
trace(arr['02550']+" "+arr['r2-1'])
Ошибки нет. Но в данном случае это особенность создания массивов во флеше. По сути "настоящих" массивов во флеше нет. Есть некая имитация массивов и массив во флеше - это просто объект у которого есть дополнительное свойство length.
А сами объекты во флеше - это ассоциативные массивы или множества.

Цитата:
Сообщение от Гурский
При реализации множеств используются идеи хэш-кодирования. Поэтому их часто называют хэшами. ...Адресом нужного объекта данных является его имя. Дело в том, что любую строковую последовательность можно представить как число. Опираясь на это число, можно выделить для объекта данных область памяти с определенным адресом. Именно
это и делается при создании элемента хэша. Затем, при обращении к элементу, нужно лишь повторно вычислить по переданному имени адрес в памяти, который он занимает. Функция, преобразующая строковые последовательности в адреса в хэш-таблице, называется хэш-функцией.
Т.е. 'r2-1' в массиве arr - это не переменная 'r2-1' (см. в хелпе главу именование переменных), а строковый адрес ячейки массива.