التابع 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.