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

من موسوعة حسوب
مراجعة 11:45، 27 نوفمبر 2018 بواسطة محمد-خطيب (نقاش | مساهمات) (أنشأ الصفحة ب'{{DISPLAYTITLE:الصنف <code>Random</code> في روبي}} يزوِّد الصنف <code>Random</code> واجهةً لمولِّد أعدادٍ شبه عشوائيَ...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يزوِّد الصنف 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

توابع الصنف العامة (Public Class Methods)

new

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

new_seed

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

rand

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

srand

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

urandom

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

توابع النسخة العامة (Public Instance Methods)

==

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

bytes

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

rand

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

seed

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

مصادر