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

من موسوعة حسوب
< Ruby‏ | Kernel
مراجعة 05:16، 17 نوفمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (تدقيق)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يضبط التابع 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: يولد عددًا شبه عشوائي يقع ضمن مجال محدَّد.

مصادر