![]() |
Ассоциативные массивы и регистр индексов
Завожу массив:
xxx = []; xxx ['A']=100; xxx ['a']=200; Потом обращаюсь к xxx ['A'] - выдается 200 Есть ли решения? |
Я, конечно, могу проэскейпить индексы, но ведь это, я думаю, увеличит время поиска?
|
Дело в том, что 'a' & 'A' - есть одно и тоже с точки зрения сами понимаете чего. :)
Делать можно так(вместо строки может быть обычный массив): xxx['A'] = "100,200"; затем(код функции пропущен) делаем следующее: associations = parse(xxx['A']) // return array //result: //associations[1] == 100; //associations[2] == 200; если я правильно тебя понял. :) |
Вообще-то у меня массив с некоей таблицей соответствия символов. (Метрика шрифта)... Думаю, стоит заменить символы на ихние коды, просто неохота было переделывать немереный массив :)
Спасибо. То, что я хотел узнать - я узнал - "это стандартно во Flash, он только так и работает". p.s. нет ли более которкой записи для ассоциативного массива, что-то вроде ("x"=>100, "y"=>"abcd") в PHP ? |
Благо AS очень похож на JS, так что накропал простенький скриптец на JS (который уже разделяет большие и маленькие буквы) и перевел все в коды символов.
Тему можно закрывать. |
Еще проще -
chars = {} //a chars[ord("a")] = .... //A chars[ord("A")] = .... доставать тем же макаром |
Ord(), безусловно, хорошая функция.
Но ММ говорит, что она - деприкайтед. А чем бы ее заменить? И еще, John, а в шестерке деприкейтнутые функции сохранились ли? |
Цитата:
|
| Часовой пояс GMT +4, время: 15:13. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.