الفرق بين المراجعتين لصفحة: «Ruby/Random»
أنشأ الصفحة ب'{{DISPLAYTITLE:الصنف <code>Random</code> في روبي}} يزوِّد الصنف <code>Random</code> واجهةً لمولِّد أعدادٍ شبه عشوائيَ...' |
جميل-بيلوني (نقاش | مساهمات) ط ←rand |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 14: | سطر 14: | ||
=== <code>DEFAULT</code> === | === <code>DEFAULT</code> === | ||
== توابع الصنف العامة | == توابع الصنف العامة == | ||
=== <code>[[Ruby/Random/new|new]]</code> === | === <code>[[Ruby/Random/new|new]]</code> === | ||
سطر 29: | سطر 29: | ||
=== <code>[[Ruby/Random/urandom|urandom]]</code> === | === <code>[[Ruby/Random/urandom|urandom]]</code> === | ||
يعيد سلسلةً نصيةً (string) باستخدام ميزاتٍ توفرها المنصة | يعيد سلسلةً نصيةً (string) باستخدام ميزاتٍ توفرها المنصة. | ||
== توابع النسخة العامة | == توابع النسخة العامة == | ||
=== <code>[[Ruby/Random/3D-3D|==]]</code> === | === <code>[[Ruby/Random/3D-3D|==]]</code> === | ||
سطر 39: | سطر 39: | ||
يُعيد سلسلةً نصيةً ثنائيةً عشوائية بحجم محدَّدٍ من البايتات. | يُعيد سلسلةً نصيةً ثنائيةً عشوائية بحجم محدَّدٍ من البايتات. | ||
=== [[Ruby/Random/rand|rand]] === | === [[Ruby/Random/rand|<code>rand</code>]] === | ||
يعدُّ اسمًا بديلًا (alias) للتابع <code>[[Ruby/Random/rand|Random::DEFAULT.rand]]</code>. | يعدُّ اسمًا بديلًا (alias) للتابع <code>[[Ruby/Random/rand|Random::DEFAULT.rand]]</code>. | ||
المراجعة الحالية بتاريخ 08:00، 30 مارس 2019
يزوِّد الصنف 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
يعيد قيمة البذرة التي استُخدمَت في إنشاء المولِّد.