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

السؤال

نشر

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

somearray = ["some", "thing"]

anotherarray = ["another", "thing"]

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

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

Recommended Posts

  • 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

المصدر

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...