Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
G_Z 25.05.2004 18:38
т.е. вы проверку на !def можете смело выкидывать, все будет работаеть. вы таки и планировали? если да, то поздравляю, мне было интересно :)Признаться, нет... :)
если бы вы попытались проанализировать что он делает...Не, не. Что то Вы не так поняли, или это я сдуру не так написал.
допустим получили случайное число 3.
далее делаем !def получаем true (и всегда будем получать true) и добавляем к хешу.
если на второй итерации опять получится 3, то опять будет true и опять добавится к хешу. другое дело что в хеше не может быть двух элементов с одинаковыми ключами, и из двух останется только один...
ну и т.д.
$random_digits_hash[^hash::create[]]Ну, это понятно - сваяли хэш под случайные ключи.
^while($random_digits_hash < $table_limit){Пока количество ключей хэша (случайные числа) меньше лимита, выполняем.
^if(!def $random_digits_hash.[$random_digit]){ $hash_add[$.$random_digit(1)] ^random_digits_hash.add[$hash_add] }Если элемент такой-то (только сгенеренный) не содержится в хэше - добавляем,