
Код:
arr=[]
arr['02550']=321
arr['r2-1']=123
trace(arr['02550']+" "+arr['r2-1'])
Ошибки нет. Но в данном случае это особенность создания массивов во флеше. По сути "настоящих" массивов во флеше нет. Есть некая имитация массивов и массив во флеше - это просто объект у которого есть дополнительное свойство length.
А сами объекты во флеше - это ассоциативные массивы или множества.
Цитата:
|
Сообщение от Гурский
При реализации множеств используются идеи хэш-кодирования. Поэтому их часто называют хэшами. ...Адресом нужного объекта данных является его имя. Дело в том, что любую строковую последовательность можно представить как число. Опираясь на это число, можно выделить для объекта данных область памяти с определенным адресом. Именно
это и делается при создании элемента хэша. Затем, при обращении к элементу, нужно лишь повторно вычислить по переданному имени адрес в памяти, который он занимает. Функция, преобразующая строковые последовательности в адреса в хэш-таблице, называется хэш-функцией.
|
Т.е. 'r2-1' в массиве arr - это не переменная 'r2-1' (см. в хелпе главу именование переменных), а строковый адрес ячейки массива.