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

من موسوعة حسوب
< Ruby‏ | Kernel
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>srand‎</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby تصني...')
 
(تدقيق)
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Kernel]]
 
[[تصنيف: Ruby Kernel]]
يحدد التابع srand بذرة مولد الأعداد شبه العشوائية (system pseudo-random number generator)، حيث يعين Random :: DEFAULT ، ويعطيها القيمة <code>number</code>.  تُعاد قيمة البذرة السابقة.
+
يضبط التابع <code>srand</code> بذرة مولد الأعداد شبه العشوائية (system pseudo-random number generator)، إذ يعين <code>Random::DEFAULT</code> ويعطيها قيمة العدد المُعطى ثم يعيد قيمة البذرة السابقة.
إفي حال عدم إعطاء <code>number</code> ، يبذُر التابع srand المولد باستخدام مصدر للإنتروبي (entropy) يوفره نظام التشغيل ، إن كان متاحًا (/dev/urandom على أنظمة Unix أو مُوفر خوارزمية التشفير RSA على نظام Windows)، والذي يُدمج مع الوقت، ومعرف العملية (pid)، ورقم تسلسل.
+
 
يمكن استخدام srand لضمان تكرار تسلسلات الأعداد شبه العشوائية بين عمليات التشغيل المختلفة للبرنامج. عبر ضبط البذور عند قيمة معروفة، يمكن جعل البرامج حتمية أثناء الاختبار.
+
في حال عدم تمرير أي عدد إلى التابع، يحدد التابع <code>srand</code> بذرةً للمولد باستخدام مصدر العشوائية (entropy) الذي يوفره نظام التشغيل، إن كان متاحًا (وهو ‎<code>/dev/urandom</code> على أنظمة يونكس أو مُوفِّر خوارزمية التشفير RSA على نظام ويندوز)، والذي يُدمَج مع الوقت، ومعرف العملية (pid)، ورقم التسلسل.
 +
 
 +
يمكن استخدام التابع <code>srand</code> لضمان تكرار تسلسلات الأعداد شبه العشوائية بين عمليات التشغيل المختلفة للبرنامج. فعبر ضبط البذور عند قيمة معروفة، يمكن جعل البرامج حتمية وقابلة للتنبؤ أثناء الاختبار.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">srand(number = Random.new_seed) → old_seed‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">srand(number = Random.new_seed) → old_seed‎</syntaxhighlight>
 
==المعاملات==
 
==المعاملات==
===<code>number </code>===
+
===<code>number</code>===
 
+
قيمة البذرة المراد تعيينها لمولد الأعداد العشوائية.
 
+
==القيمة المعادة==
==القيمة المُعادة==
+
تُعاد قيمة البذرة السابقة.
 
 
 
==أمثلة==
 
==أمثلة==
مثال على استخدام التابع <code>srand‎</code>:
+
مثال على استخدام التابع <code>srand‎</code>:<syntaxhighlight lang="ruby">srand 1234              # => 268519324636777531569100071560086917274
<syntaxhighlight lang="ruby">srand 1234              # => 268519324636777531569100071560086917274
 
 
[ rand, rand ]          # => [0.1915194503788923, 0.6221087710398319]
 
[ rand, rand ]          # => [0.1915194503788923, 0.6221087710398319]
 
[ rand(10), rand(1000) ] # => [4, 664]
 
[ rand(10), rand(1000) ] # => [4, 664]
سطر 22: سطر 22:
 
[ rand, rand ]          # => [0.1915194503788923, 0.6221087710398319]‎</syntaxhighlight>
 
[ rand, rand ]          # => [0.1915194503788923, 0.6221087710398319]‎</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/Kernel/sprintf|sprintf]]</code>: يعيد التابع sprintf السلسلة النصية الناتجة من تطبيق format_string على الوسائط الإضافية. داخل سلسلة التنسيق، يتم نسخ كل الأحرف في النتيجة باستثناء تسلسلات الشكل .
+
*التابع <code>[[Ruby/Kernel/rand|rand]]</code>: يولد عددًا شبه عشوائي يقع ضمن مجال محدَّد.
* التابع <code>[[Ruby/Kernel/sub|sub]]</code>: يكافئ التابع sub التعبير <code>$_.sub( args )</code> ، باستثناء أنه سيتم تحديث <code>$_</code> إذا حدث استبدال. متوفر فقط عند تحديد خيار سطر الأوامر -p/-n.
 
 
 
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-srand قسم التابع srand‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-srand قسم التابع srand‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 05:16، 17 نوفمبر 2018

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

في حال عدم تمرير أي عدد إلى التابع، يحدد التابع srand بذرةً للمولد باستخدام مصدر العشوائية (entropy) الذي يوفره نظام التشغيل، إن كان متاحًا (وهو ‎/dev/urandom على أنظمة يونكس أو مُوفِّر خوارزمية التشفير RSA على نظام ويندوز)، والذي يُدمَج مع الوقت، ومعرف العملية (pid)، ورقم التسلسل.

يمكن استخدام التابع srand لضمان تكرار تسلسلات الأعداد شبه العشوائية بين عمليات التشغيل المختلفة للبرنامج. فعبر ضبط البذور عند قيمة معروفة، يمكن جعل البرامج حتمية وقابلة للتنبؤ أثناء الاختبار.

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

srand(number = Random.new_seed)  old_seed

المعاملات

number

قيمة البذرة المراد تعيينها لمولد الأعداد العشوائية.

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

تُعاد قيمة البذرة السابقة.

أمثلة

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

srand 1234               # => 268519324636777531569100071560086917274
[ rand, rand ]           # => [0.1915194503788923, 0.6221087710398319]
[ rand(10), rand(1000) ] # => [4, 664]
srand 1234               # => 1234
[ rand, rand ]           # => [0.1915194503788923, 0.6221087710398319]‎

انظر أيضا

  • التابع rand: يولد عددًا شبه عشوائي يقع ضمن مجال محدَّد.

مصادر