الفرق بين المراجعتين لصفحة: «Ruby/Kernel/rand»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) تدقيق |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Kernel]] | [[تصنيف: Ruby Kernel]] | ||
يولد التابع <code>rand</code> عددًا شبه عشوائي يقع ضمن مجال محدَّد. | |||
==البنية العامة== | |||
إذا كان <code>max.abs</code> أكبر من أو يساوي <code>1</code>، فسيعيد <code>rand</code> عددًا صحيحًا عشوائيًا أكبر من أو يساوي <code>0</code>، وأصغر من <code>max.to_i.abs</code>. | <syntaxhighlight lang="ruby">rand(max=0) → number</syntaxhighlight>إن استدعي التابع <code>rand</code> بدون تمرير معاملات إليه، أو إن كان <code>max.to_i.abs == 0</code>، فسيعيد التابع <code>rand</code> عددًا عشريًا شبه عشوائي (pseudo-random) محصورًا في المجال 0.0 و 1.0 (يدخل 0.0 ضمن المجال بينما لا يدخل 1.0). إذا كان <code>max.abs</code> أكبر من أو يساوي <code>1</code>، فسيعيد <code>rand</code> عددًا صحيحًا عشوائيًا أكبر من أو يساوي <code>0</code>، وأصغر من <code>max.to_i.abs</code>. | ||
إذا كان | إذا كان المعامل المعطى مجالًا (من النوع <code>[[Ruby/Range|Range]]</code>)، فسيعيد <code>rand</code> عددًا عشوائيًا يقع ضمن هذا المجال (يحقق <code>range.member?(number) == true</code>). | ||
يمكن تمرير قيمة سالبة أو عشرية إلى المعامل، ولكنها قد تؤدي إلى إعادة نتائج مفاجئة. | |||
يمكن استخدام التابع <code>[[Ruby/Kernel/srand|srand]]</code> لضمان أنه يمكن إعادة إنتاج متتاليات الأعداد العشوائية بين مختلف عمليات التشغيل للبرنامج. | يمكن استخدام التابع <code>[[Ruby/Kernel/srand|srand]]</code> لضمان أنه يمكن إعادة إنتاج متتاليات الأعداد العشوائية بين مختلف عمليات التشغيل للبرنامج. | ||
==المعاملات== | ==المعاملات== | ||
===<code>max</code>=== | ===<code>max</code>=== | ||
الحد الأقصى للعدد العشوائي المراد توليده. يمكن أن يكون عددًا أو [[Ruby/Range|مجالًا]]. | |||
==القيمة المعادة== | |||
==القيمة | يعاد عددٌ عشوائيٌ يقع بين المجال 0.0 و 1.0 (يدخل 0.0 ضمن المجال بينما لا يدخل 1.0) إن لم يُعطَ المعامل <code>max</code>، أو يقع بين المجال 0.0 و <code>max.abs</code> إن أعطي، أو يقع بين المجال الذي يحدده المعامل <code>max</code> إن كان مجالًا من النوع [[Ruby/Range|<code>Range</code>]]. | ||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>rand</code>: | مثال على استخدام التابع <code>rand</code>:<syntaxhighlight lang="ruby">rand #=> 0.2725926052826416</syntaxhighlight> | ||
<syntaxhighlight lang="ruby">rand #=> 0.2725926052826416</syntaxhighlight> | |||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Random/rand|Random | *التابع <code>[[Ruby/Random/rand|Random.rand]]</code>: يولد عددًا عشوائيًّا. | ||
* التابع | *التابع <code>[[Ruby/Kernel/readline|srand]]</code>: يحدد بذرة مولد الأعداد شبه العشوائية (system pseudo-random number generator). | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-rand قسم | *[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-rand قسم التابع rand في الصنف Kernel في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 08:26، 16 نوفمبر 2018
يولد التابع rand
عددًا شبه عشوائي يقع ضمن مجال محدَّد.
البنية العامة
rand(max=0) → number
إن استدعي التابع rand
بدون تمرير معاملات إليه، أو إن كان max.to_i.abs == 0
، فسيعيد التابع rand
عددًا عشريًا شبه عشوائي (pseudo-random) محصورًا في المجال 0.0 و 1.0 (يدخل 0.0 ضمن المجال بينما لا يدخل 1.0). إذا كان max.abs
أكبر من أو يساوي 1
، فسيعيد rand
عددًا صحيحًا عشوائيًا أكبر من أو يساوي 0
، وأصغر من max.to_i.abs
.
إذا كان المعامل المعطى مجالًا (من النوع Range
)، فسيعيد rand
عددًا عشوائيًا يقع ضمن هذا المجال (يحقق range.member?(number) == true
).
يمكن تمرير قيمة سالبة أو عشرية إلى المعامل، ولكنها قد تؤدي إلى إعادة نتائج مفاجئة.
يمكن استخدام التابع srand
لضمان أنه يمكن إعادة إنتاج متتاليات الأعداد العشوائية بين مختلف عمليات التشغيل للبرنامج.
المعاملات
max
الحد الأقصى للعدد العشوائي المراد توليده. يمكن أن يكون عددًا أو مجالًا.
القيمة المعادة
يعاد عددٌ عشوائيٌ يقع بين المجال 0.0 و 1.0 (يدخل 0.0 ضمن المجال بينما لا يدخل 1.0) إن لم يُعطَ المعامل max
، أو يقع بين المجال 0.0 و max.abs
إن أعطي، أو يقع بين المجال الذي يحدده المعامل max
إن كان مجالًا من النوع Range
.
أمثلة
مثال على استخدام التابع rand
:
rand #=> 0.2725926052826416
انظر أيضا
- التابع
Random.rand
: يولد عددًا عشوائيًّا. - التابع
srand
: يحدد بذرة مولد الأعداد شبه العشوائية (system pseudo-random number generator).