اذهب إلى المحتوى
  • 0

كيف أجد تقاطع مصفوفات مختلفة في ريلز؟

TheBrain

السؤال

أحاول أن أجد تقاطع مصفوفات مختلفة في إطار ريلز في لغة روبي، فعلى سبيل المثال المصفوفات التالية:

code1 = [1,2,3]
code2 = [2,3,4]
code3 = [0,2,6]

وستكون الإجابة 2.
كنت أفعل ذلك في PHP عن طريق استخدام array_intersect فما هي الطريقة الصحيحة لفعل ذلك في روبي؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

هنالك عدّة حلول بسيطة للحصول على تقاطع عدة مصفوفات في الروبي أو في ريلز، فمثلا يمكنك استخدام طريقة الرمز & والذي يرمز إلى التقاطع كما في المثال التالي:

> [1,2,3] & [2,3,4] & [0,2,6]
=> [2]

لاحظ أننا كررنا استخدام الرمز & حسب المصفوفات.
أو يمكنك دمج السلاسل النصية مع بعض ومن ثم استخدام inject، أو إذا كنت تستخدم الإصدار 1.9 من روبي استعمل  inject أيضا بطريقة مختصرة أكثر كما في المثال التالي:

> arrays = [code1,code2,code3]
> arrays.inject(:&)                   # Ruby 1.9 shorthand
=> [2]
> arrays.inject{|codes,x| codes & x } # Full syntax works with 1.8 and 1.9
=> [2]
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...