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

من موسوعة حسوب
< Ruby‏ | Kernel
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>rand‎</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف...')
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Kernel]]
 
[[تصنيف: Ruby Kernel]]
في حال استدعاء التابع rand بدون تمرير وسائط إليه، أو إن كان <code>max.to_i.abs == 0</code>، فسيعيد التابع rand عدد عشري شبه عشوائي (pseudo-random) محصور بين 0.0 و 1.0، متضمنا 0.0، وباستثناء 1.0.
+
في حال استدعاء التابع <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>rand</code> عددًا صحيحًا عشوائيًا أكبر من أو يساوي وأصغر من <code>max.to_i.abs</code>.
+
إذا كان <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>max</code> مجالًا (<code>Range</code>)، فسيعيد <code>rand</code> عددًا عشوائيًا يحقق range.member?(number) == true.
 
 
يُسمح بإعطاء <code>max</code> قيمًا سالبة أو عشرية، ولكنها قد تؤدي إلى إعادة نتائج مفاجئة.
 
يُسمح بإعطاء <code>max</code> قيمًا سالبة أو عشرية، ولكنها قد تؤدي إلى إعادة نتائج مفاجئة.
  
يمكن استخدام <code>#srand</code> لضمان أنه يمكن إعادة إنتاج متتاليات الأعداد العشوائية بين مختلف عمليات التشغيل للبرنامج.
+
يمكن استخدام التابع <code>[[Ruby/Kernel/srand|srand]]</code> لضمان أنه يمكن إعادة إنتاج متتاليات الأعداد العشوائية بين مختلف عمليات التشغيل للبرنامج.
 +
 
 
انظر أيضا <code>Random#rand</code>.
 
انظر أيضا <code>Random#rand</code>.
 
==البنية العامة==
 
==البنية العامة==
سطر 24: سطر 26:
 
<syntaxhighlight lang="ruby">rand        #=> 0.2725926052826416‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">rand        #=> 0.2725926052826416‎</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/Kernel/raise|raise]]</code>: في حال عدم تمريرأي وسائط، سيطلق التابع raise استثناء في <code>$!</code> أو يطلق <code>RuntimeError</code> إن كان <code>$!</code> يساوي <code>nil</code>. في حال تمرير وسيط واحد <code>String</code>، فسيطلق <code>RuntimeError</code> بحيث يكون الوسيط الممرر string الرسالة. خلا ذلك، يجب أن يكون الوسيط الأول اسما للصنف <code>Exception</code> (أو كائنًا يعيد كائن <code>Exception</code> عند تلقيه رسالة <code>exception</code>). يحدد الوسيط الاختياري الثاني رسالة الاستثناء، أما الوسيط الثالث فهو مصفوفة تضم معلومات الاستدعاء. تُضبط الاستثناءات بواسطة جملة <code>rescue</code> من كتل <code>begin...end</code>.
+
* التابع <code>[[Ruby/Random/rand|Random#rand]]</code>: يعيد عدد عشوائي.
* التابع <code>[[Ruby/Kernel/readline|readline]]</code>: يكافئ التابع readline التعبير <code>Kernel::gets</code> ، باستثناء أنّ <code>readline</code> تطلق خطأ <code>EOFError</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>.  
  
 
==مصادر==
 
==مصادر==
 
*[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‎ في توثيق روبي الرسمي.]

مراجعة 13:02، 22 أكتوبر 2018

في حال استدعاء التابع 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.

إذا كان max مجالًا (Range)، فسيعيد rand عددًا عشوائيًا يحقق range.member?(number) == true.

يُسمح بإعطاء max قيمًا سالبة أو عشرية، ولكنها قد تؤدي إلى إعادة نتائج مفاجئة.

يمكن استخدام التابع srand لضمان أنه يمكن إعادة إنتاج متتاليات الأعداد العشوائية بين مختلف عمليات التشغيل للبرنامج.

انظر أيضا Random#rand.

البنية العامة

rand(max=0)  number

المعاملات

max‎

القيمة المُعادة

أمثلة

مثال على استخدام التابع rand‎:

rand        #=> 0.2725926052826416‎

انظر أيضا

  • التابع Random#rand: يعيد عدد عشوائي.
  • التابع srand: يحدد التابع srand بذرة مولد الأعداد شبه العشوائية (system pseudo-random number generator)، حيث يعين Random::DEFAULT ، ويعطيها قيمة الوسيط المُعطى number.

مصادر