التابع srand‎ الخاص بالصنف Kernel في روبي

من موسوعة حسوب

يحدد التابع srand بذرة مولد الأعداد شبه العشوائية (system pseudo-random number generator)، حيث يعين Random::DEFAULT ، ويعطيها قيمة الوسيط المُعطى number. تُعاد قيمة البذرة السابقة.

إفي حال عدم إعطاء number ، يبذُر التابع srand المولد باستخدام مصدر للإنتروبي (entropy) يوفره نظام التشغيل، إن كان متاحًا (‎/dev/urandom على أنظمة Unix أو مُوفِّر خوارزمية التشفير RSA على نظام Windows)، والذي يُدمج مع الوقت، ومعرف العملية (pid)، ورقم التسلسل.

يمكن استخدام srand لضمان تكرار تسلسلات الأعداد شبه العشوائية بين عمليات التشغيل المختلفة للبرنامج. فعبر ضبط البذور عند قيمة معروفة، يمكن جعل البرامج حتمية أثناء الاختبار.

البنية العامة

srand(number = Random.new_seed)  old_seed

المعاملات

number ‎

قيمة البذرة.

القيمة المُعادة

تُعاد قيمة البذرة السابقة.

أمثلة

مثال على استخدام التابع srand‎:

srand 1234               # => 268519324636777531569100071560086917274
[ rand, rand ]           # => [0.1915194503788923, 0.6221087710398319]
[ rand(10), rand(1000) ] # => [4, 664]
srand 1234               # => 1234
[ rand, rand ]           # => [0.1915194503788923, 0.6221087710398319]‎

انظر أيضا

  • التابع rand: في حال استدعاء التابع rand بدون تمرير وسائط إليه، أو إن كان max.to_i.abs == 0، فسيعيد التابع rand عددًا عشريًا شبه عشوائي (pseudo-random) محصور بين 0.0 و 1.0، متضمنا 0.0، لكن مع استثناء 1.0.

مصادر