Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Проблема с хэш'ем (http://www.flasher.ru/forum/showthread.php?t=35077)

Suhoff 27.07.2002 04:00

Проблема с хэш'ем
 
Стояла простая задача -
имеются зарезервированные слова W1,W2,...,WN;
требуется - проверить - принадлежит ли слово WX в потоке слов зарезервированным словам.
Что делаем - создаем хэш (массив):

H[W1]=H[W2]=...H[WN]=1;

и в нужном месте проверяем:

if (H[WX]) Action1; else Action2; (*)

Всё вроде логично.....
Так вот.... если WX="pop" или "push" или названию любого другого метода объекта Array, то инструкция (*) при ЛЮБЫХ (!!) W1,W2,...,WN выдаст Action1, так как H[WX] вернёт ФУНКЦИЮ (метод объекта Array) и IF, соответственно, пойдёт по ветке true;

Приходится присваивать значения H["pop"]=H["push"] =....=0
Тогда этот вариант работает.

Будте внимательны, не наступите, как я, на эти грабли.

Suhoff 27.07.2002 09:52

Как гласит народная мудрость - умная мысля приходит ... по утрам... :)

Надо было написать

if (H[WX]==1) Action1; else Action2; (*)

и всё бы сложилость.....

Всем - спасибо за внимание. Топик закрыт.


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

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