Home » 2010 » 3 » 5

Православный код   #

Прошлый пост был посвящен программистам-гандонам. В этом мировой баланс добра и зла будет восстановлен и я расскажу об одной полезной и кошерной вещи из своей практики.

function get_true_with_probability($x) {
  return (rand(1,999) < 1000*$x);
}

Это функция, которая с заданной вероятностью (0.000…1.000 — но при желании точность легко увеличить) возвратит true, корректно обрабатывая граничные значения (при 0 всегда false, при 1 всегда true). Её можно использовать вместо cron-планировщика в тех случаях, когда важен факт периодического выполнения какого-либо кода, но не важно строгое время его запуска. Например, вы пишете данные в таблицу логов. Вам нужно проводить её очистку от старых записей. Можно с вероятностью 0.01 выполнять эту очистку при каждом запуске скрипта. И это как раз тот случай, когда квазислучайность генератора чисел нам только на руку.

 

#, жизнь, работа, технологии

05.03.2010, 12:38