K{}DAMAN

Etiketler


Son Yazılar


Tahmin edilebilir rastgele sayılar oluşturmak

Melih KocatürkMelih Kocatürk

Problem: Rasgele sayının öngörülebilir sayılar üretmesini sağlamak istiyorsunuz, böylece tekrarlanabilir davranışları garanti altına alabilirsiniz.

Çözüm: mt_srand() (veya srand()) kullanarak rastgele sayı üretecini bilinen değerlerle tohumlayın:

function pick_color() {
	$colors = array('red','orange','yellow','blue','green','indigo','violet');
	$i = mt_rand(0, count($colors) - 1);
	return $colors[$i];
}

mt_srand(34534);
$first = pick_color();
$second = pick_color();

// Because a specific value was passed to mt_srand(), we can be
// sure the same colors will get picked each time: red and yellow
print "$first is red and $second is yellow.";

Tahmin edilemeyen rasgele sayılar için, PHP’nin tohum üretmesini sağlamak mükemmeldir. Ancak rastgele sayı üretecinizi bilinen bir değerle tohumlamak, rastgele sayı üretecinin öngörülebilir bir değerler dizisi oluşturmasını istediğinizde yararlıdır. Bu, kodunuz için testler yazarken kullanışlıdır. Bir diziden rastgele öğe alan bir fonksiyonun davranışını doğrulamak için unit test yazıyorsanız ve sayılarınız gerçekten rastgele üretiliyorsa, test her çalıştırıldığında test ettiğiniz koşul da değişecektir. Ancak, testinizin başında mt_srand() (veya stand()) işlevini belirli bir değerle çağırarak, oluşturulan rasgele sayı dizisinin testin her çalıştırılışında aynı olmasını sağlayabilirsiniz.

İşini seven bir yazılımcı ve bilişim okur-yazarı olarak, kendimi nasıl geliştirebilirim sorusuna cevap arıyor...

Comments 0
There are currently no comments.