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