parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Misha v.3 25.05.2004 19:57 / 25.05.2004 20:23

Конечно, здесь написание пустых ключей не более, чем любопытство, и как ни странно - работает!..
(естественно поправил на $hash_add[$.$random_digit(1)])
я объяснил почему работает. и судя по тому, что говорите вы оно работает совсем не так, как вы планировали.
не вижу в коде, где вы в $result кладете таблицу.
Вот тут:
$result[

$random_digits[^table::create{number}]
...
]
да ну?
покажите в доке место, в котором говориться, что table при таком раскладе попадет и в $result и в $random_digits?

это работать не может в принципе.

возможно у вас как-то хитро работает по том причине что у вас есть и метод с именем random_digits и переменная (внутри метода).
и может покажете как вы вызываете свой метод?
Которую затем заполняю.
вижу, что туда попадет пачка пробельных символов.
Бог с ними, главное таблица есть :)
нету. и не может быть.

ладно, если вы считаете что есть - то не буду вас разуверять. хотя вы спорите о том как работает ваш код не понимая, как он действительно работает: это видно по тому, что вы утверждаете.

говорю это для тех, кто будет смотреть ваш метод: это работать не может.
$result[
...
==$counter==
]
и это подтверждение, что в $result у вас попадает строка
^if(!def $random_digits_hash.[$random_digit]){
$hash_add[$.$random_digit[]]
^random_digits_hash.add[$hash_add]
}
вам объяснили как это работает у вас, а вы продолжаете настаивать, что работает иначе.
напишите так:
^if(!def $random_digits_hash.[$random_digit]){
$str[$random_digit^#0A]
^str.save[append;/log.txt]
$hash_add[$.$random_digit[]]
^random_digits_hash.add[$hash_add]
}
и посмотрите что у вас попадет в лог.
вы увидите, что у вас бывают попытки добавить один и тот-же ключ по несколько раз, а это говорит о том, что !def всегда истинно.
после того, как вы $.$random_digit[] заменили на $.$random_digit(1) логика, которую вы закладывали вначале стала работать, и в этом случае !def не всегда бывает "истина".

P.S. писать в хеш значение 1 не обязательно, можно проверять наличие элемента в хеше, а не определена строка этого элемента или нет. об этом я писал выше, и для этого достаточно убрать def
P.P.S. устал я доказывать... делайте что хотите: хотите разбирайтесь как что-то работает, хотите - нет, и продолжайте верить в чудеса.