التابع Random.srand
في روبي
يحدِّد التابع srand
بذرة مولد الأعداد شبه العشوائية (pseudo-random number generator) للنظام، بتعيين Random::DEFAULT
، إلى القيمة المُمرَّرة إليه. يعيد التابع بعد استدعائه قيمة البذرة السابقة.
في حال عدم أية قيمة إلى التابع 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]
انظر أيضًا
- التابع
new
: يُنشئ مولِّد أعدادٍ شبه عشوائيةٍ (PRNG) باستخدام قيمة محدَّدة للبذرة لضبط الحالة الأولية. - التابع
new_seed
: يعيد قيمةً عشوائية تمثِّل البذرة. - التابع
seed
: يعيد قيمة البذرة التي استُخدمَت في إنشاء المولِّد.