التابع srand
الخاص بالصنف Kernel
في روبي
يضبط التابع srand
بذرة مولد الأعداد شبه العشوائية (system pseudo-random number generator)، إذ يعين Random::DEFAULT
ويعطيها قيمة العدد المُعطى ثم يعيد قيمة البذرة السابقة.
في حال عدم تمرير أي عدد إلى التابع، يحدد التابع srand
بذرةً للمولد باستخدام مصدر العشوائية (entropy) الذي يوفره نظام التشغيل، إن كان متاحًا (وهو /dev/urandom
على أنظمة يونكس أو مُوفِّر خوارزمية التشفير RSA على نظام ويندوز)، والذي يُدمَج مع الوقت، ومعرف العملية (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
: يولد عددًا شبه عشوائي يقع ضمن مجال محدَّد.