• 0

كيف أولّد ألوان ست عشرية عشوائية في روبي؟

كيف أستطيع توليد ألوان ست عشرية (hex) عشوائية لاستخدامها في برنامج معين في لغة روبي؟ فهل هنالك تابع معين أو ما شابه لفعل ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك عدّة طرق لتوليد ألوان ست عشرية في لغة روبي، وبما أنك تبحث عن تابع معين، فهنالك تابع في ريلز يقوم بتوليد الأرقام العشوائية وهو SecureRandom.hex ويمكنك استخدامه كما في المثال التالي:

ActiveSupport::SecureRandom.hex(3)

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

colour = "%06x" % (rand * 0xffffff)

أو يمكنك توليد كل جزء من أجزاء اللون على حد ومن ثم دمجهم كما في المثال التالي:

r = rand(255).to_s(16)
g = rand(255).to_s(16)
b = rand(255).to_s(16)

r, g, b = [r, g, b].map { |s| if s.size == 1 then '0' + s else s end }

color = r + g + b      # => e.g. "09f5ab"
1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن