الصنف Random في روبي

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

يزوِّد الصنف Random واجهةً لمولِّد أعدادٍ شبه عشوائيَّةٍ (pseudo-random number generator، أو يُدعى PRNG) في روبي. يُنتج مولِّد الأرقام شبه العشوائيَّة (PRNG) سلاسل محدَّدةً من البِتات تقارب العشوائيَّة الحقيقية. يمكن أن تمثِّل هذه السلاسل أعدادًا صحيحيةً (integers)، أو أعدادًا عشريةً (floats)، أو سلاسل نصيَّة ثنائيَّة (binary strings).

يُهيَّأ هذا المولِّد ببذرة تعطى (seed) إمَّا من قبل النظام (system-generated) أو من قبل المستخدم (user-supplied) عبر استخدام التابع srand.

يوفر تابع الصنف rand الوظيفة القاعديَّة للتابع Kernel.rand بالترافق مع معالجةٍ أفضل للقيم ذات الفاصلة العشرية. يُشكلان بهذا واجهتين للثابتRandom::DEFAULT، ومولِّد PRNG النظام في روبي.

سيُنشئ التابع newمولد PRNG جديدًا مع حالةٍ مستقلةٍ عن Random::DEFAULT، سامحًا بذلك للمولِّدات المتعدِّدة مع عدّة قيمٍ للبذرة أو مواقع للسلاسل أن تتواجد في وقتٍ واحد. يمكن أن تنظَّم كائنات الصنف Random سامحةً بذلك للسلاسل أن تُحفَظ وتُستأنَف.

تنفَّذ مولِّدات PRNG حاليًّا على أنَّها خوارزميِّة Mersenne Twister معدَّلة بطول دورةٍ (period) يساوي إلى 1-19937**2.

الثوابت

DEFAULT

توابع الصنف العامة

new

يُنشئ مولِّد أعدادٍ شبه عشوائيةٍ (PRNG) باستخدام قيمة محدَّدة للبذرة لضبط الحالة الأولية.

new_seed

يعيد قيمةً عشوائية تمثِّل البذرة.

rand

يُعيدعددًا عشوائيًّا يتراوح مجاله بحسب القيمة المُمرَّرة إليه.

srand

يحدِّد بذرة مولد الأعداد شبه العشوائية (pseudo-random number generator) للنظام، بتعيين Random::DEFAULT، إلى القيمة المُمرَّرة إليه.

urandom

يعيد سلسلةً نصيةً (string) باستخدام ميزاتٍ توفرها المنصة.

توابع النسخة العامة

==

يتحقَّق من تساوي الحالة الداخلية لمولِّدين.

bytes

يُعيد سلسلةً نصيةً ثنائيةً عشوائية بحجم محدَّدٍ من البايتات.

rand

يعدُّ اسمًا بديلًا (alias) للتابع Random::DEFAULT.rand.

seed

يعيد قيمة البذرة التي استُخدمَت في إنشاء المولِّد.

مصادر