التابع Random.rand في روبي

من موسوعة حسوب
< Ruby‏ | Random

يُعيد التابع rand عددًا عشوائيًّا يتراوح مجاله بحسب القيمة المُمرَّرة إليه.

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

rand  float
rand(max)  number

المعاملات

max

يكون المعامل max إما عددًا صحيحًا (integer)، أو عددًا عشريًّا (float)، أو مجالًا (range).

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

عندما يكون المعامل maxعددًا صحيحًا، يُعيد التابع rand عددًا صحيحًا أكبر أو يساوي الصفر وأصغر من max. خلافًا للتابع Kernel.rand، يرمي التابع rand الاستثناء ArgumentError عندما يكون المعامل maxعددًا صحيحًا سالبًاأو صفرًا.

عندما يكون المعامل maxعددًا عشريًّا، يعيد التابع randعددًا ذو فاصلة عشرية (floating point) عشوائيًّا يقع بين القيمتين 0.0 و maxمتضمنًا القيمة 0.0 وغير متضمَّنٍ للقيمة max.

عندما يكون المعامل maxمجالًا، يعيد التابع randعددًا عشوائيًّا يقع ضمن هذا المجال.

يجب أن تستجيب كِلا قيمتي البداية والنهاية لتوابع الطرح (-) والجمع (+)، أو سيرمي التابع randالاستثناء ArgumentError.

أمثلة

أمثلة على استعمال التابع rand:

prng = Random.new
prng.rand(100)       # => 42

prng.rand(1.5)       # => 1.4600282860034115

prng.rand(5..9)      # => one of [5, 6, 7, 8, 9]
prng.rand(5...9)     # => one of [5, 6, 7, 8]
prng.rand(5.0..9.0)  # => between 5.0 and 9.0, including 9.0
prng.rand(5.0...9.0) # => between 5.0 and 9.0, excluding 9.0

انظر أيضًا

  • التابع urandom : يعيد سلسلةً نصيةً (string) باستخدام ميزاتٍ توفرها المنصة.
  • التابع bytes : يُعيد سلسلةً نصيةً ثنائيةً عشوائية بحجم محدَّدٍ من البايتات.
  • التابع srand: يحدِّد بذرة مولد الأعداد شبه العشوائية للنظام بتعيين Random::DEFAULT إلى القيمة المُمرَّرة إليه.

مصادر