Topic: Перечислитель с неповторяющейся случайной последовательностью

Вдруг да пригодится.
Можно использовать там, где разнообразие достигается использованием рандома и желательно избежать возможных серий одинаковых значений. Например, при организации универсальных ответов на незапрограммированные действия.
Механизм: в перечислитель заряжаются элементы — строки, числа, таблицы, функции, любой объект; после этого элементы можно получить в случайной последовательности, в которой соседние элементы не повторяются и средний период повторения одного элемента приближён к количеству их.
То есть, последовательность состоит из периодов, в которых каждый элемент встречается только один раз, а первый элемент следующего периода отличается от последнего элемента предыдущего (исключения — если число элементов меньше двух).
Подключается require'м или dofile'м, потом просто obj=urse(el1,el2,...,elN) и obj(). Документация внутри модуля)

Post's attachments

Attachment icon urse.lua 5.36 kb, 183 downloads since 2011-06-16 

power save mode

Re: Перечислитель с неповторяющейся случайной последовательностью

Эхх. Я вот для Туалета свой shuffler писал. Если б тогда у меня была твоя функция...  cool

С другой стороны - совершенствование технологий не прямо пропорционально количеству новых классных игр. Ибо когда есть клёвая идея - человека не остановит отсутствие той или иной фишки. Да и он не будет вчитываться в документацию существующих фишек, ибо одержим идеей прежде всего. smile И поэтому сделает по-дубовому - "топорно" - но сделает. smile И это будет работать! И неважно, какая технология внутри.
И наоборот - технологий полно, а идей нет. smile

Так что - Инстеду нужны новые фанатики! smile

Re: Перечислитель с неповторяющейся случайной последовательностью

Мм, классно, да smile

Re: Перечислитель с неповторяющейся случайной последовательностью

vpodobaev: Истинно так. <caps> За Кейна!!! xQ </caps>

power save mode