• 0

كيفية دمج مصفوف مع مصفوفة أخرى في الروبي ؟

أريد أن أقوم بدمج مصفوفتين مع بعض دون أن أحصل على مشاكل تعدد الأبعاد كما في المثال التالي:

somearray = ["some", "thing"]

anotherarray = ["another", "thing"]

ويجب أن أحصل على هذه النتيجة:

["some","thing","another","thing"]

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


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

هنالك عدة طرق لدمج مصفوفتين مع بعض في الروبي، فيمكنك الاستعانة بتابع concat الذي سيقوم بسَلسَلة المصفوفتين كما في المثال التالي:

a1.concat a2
a1 + a2              # creates a new array, as does a1 += a2

أو يمكنك الدمج باستخدام تابعي push و unshift كما في المثال التالي:

a1.push(*a2)         # note the asterisk
a2.unshift(*a1)      # note the asterisk, and that a2 is the receiver

يذكر أنه عند استخدام   unshift في المثال أعلاه أصبح a2 هو مُستقبِل المصفوفة الأولى.
ويمكنك أيضا لصق المصفوفة الأولى مع المصفوفة الثانية بمساعدة التوابع length و insert كما في المثال التالي:

a1[a1.length, 0] = a2
a1[a1.length..0] = a2
a1.insert(a1.length, *a2)

والطريقة الأخيرة هي الحاق المصفوفة الأولى بالمصفوفة الثانية عن طريق flatten! الذي سيقوم بإنشاء مصفوفة جديدة:

(a1 << a2).flatten!  # a call to #flatten instead would return a new array

المصدر

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


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

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

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

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


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

تسجيل الدخول

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


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