الفرق بين المراجعتين ل"Ruby/Kernel/rand"

من موسوعة حسوب
< Ruby‏ | Kernel
اذهب إلى التنقل اذهب إلى البحث
(تدقيق)
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Kernel]]
 
[[تصنيف: Ruby Kernel]]
في حال استدعاء التابع <code>rand</code> بدون تمرير وسائط إليه، أو إن كان <code>max.to_i.abs == 0</code>، فسيعيد التابع <code>rand</code> عددًا عشريًا شبه عشوائي (pseudo-random) محصور بين 0.0 و 1.0، متضمنا 0.0، لكن مع استثناء 1.0.
+
يولد التابع <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>max</code> مجالًا (<code>[[Ruby/Range|Range]]</code>)، فسيعيد <code>rand</code> عددًا عشوائيًا يحقق <code>range.member?(number) == true</code>.
+
إذا كان المعامل المعطى مجالًا (من النوع <code>[[Ruby/Range|Range]]</code>)، فسيعيد <code>rand</code> عددًا عشوائيًا يقع ضمن هذا المجال (يحقق <code>range.member?(number) == true</code>).
  
يُسمح بإعطاء <code>max</code> قيمًا سالبة أو عشرية، ولكنها قد تؤدي إلى إعادة نتائج مفاجئة.
+
يمكن تمرير قيمة سالبة أو عشرية إلى المعامل، ولكنها قد تؤدي إلى إعادة نتائج مفاجئة.
  
 
يمكن استخدام التابع <code>[[Ruby/Kernel/srand|srand]]</code> لضمان أنه يمكن إعادة إنتاج متتاليات الأعداد العشوائية بين مختلف عمليات التشغيل للبرنامج.
 
يمكن استخدام التابع <code>[[Ruby/Kernel/srand|srand]]</code> لضمان أنه يمكن إعادة إنتاج متتاليات الأعداد العشوائية بين مختلف عمليات التشغيل للبرنامج.
 
انظر أيضا <code>Random#rand</code>.
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">rand(max=0) → number‎</syntaxhighlight>
 
 
==المعاملات==
 
==المعاملات==
 
===<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#rand]]</code>: يعيد عدد عشوائي.
+
*التابع <code>[[Ruby/Random/rand|Random.rand]]</code>: يولد عددًا عشوائيًّا.
* التابع <nowiki/>[[Ruby/Kernel/srand|<code></code>]]<code>[[Ruby/Kernel/readline|srand]]</code>: يحدد التابع <code>srand</code> بذرة مولد الأعداد شبه العشوائية (system pseudo-random number generator)، حيث يعين <code>Random::DEFAULT</code> ، ويعطيها قيمة الوسيط المُعطى <code>number</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 قسم التابع rand‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]
+
*[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).

مصادر