منتديات نبع الفرات

تمت ارشفة منتديات نبع الفرات

المشاركات من الموضوع كيفية التعامل مع “المصفوفات” Arrays في Ruby

  1. بواسطة العراقي راقي

    كيفية التعامل مع “المصفوفات” Arrays في Ruby
    البعض يعتقد أن المصفوفات في Ruby تتشابه مع باقي المصفوفات في لغات البرمجة الأخرى، هذا الأمر خاطئ إلى حدٍ ما، والسبب أنه في لغات البرمجة الأخرى عند إنشاء مصفوفة جديدة يجب أن تحتفظ داخلها إما بقيم عددية أو نصّية أو أي نوع من أنواع البيانات التي يجب أن تكون كلها من نوع واحد، أما في Ruby فهذا الأمر مختلف تمامًا، حيث أنه يمكنك إنشاء مصفوفات تحتفظ بداخلها على قيم عددية ونصية ومصفوفات أخرى داخل نفس المصفوفة؛ على عكس باقي اللغات!

    إنشاء مصفوفة من الأرقام وطباعة محتوياتها:من أبسط الأشياء التي يمكن القيام بها في Ruby هو إنشاء المصفوفات، في البرنامج التالي سنقوم بإنشاء مصفوفة تحتوي على الأرقام من 0 إلى 9 ونطبع محتوياتها بالترتيب:


    قم بفتح محرر النصوص المفضل لديك.
    قم بكتابة الشفرة التالية داخله:

    Ruby


    keefcode = puts keefcode


    1








    2


    keefcode =
    puts keefcode








    قم بحفظ الملف بأي اسم تحب، المهم أن ينتهي بامتداد .rb، على سبيل المثال arrays.rb.
    قم بفتح Terminal على نظام التشغيل الذي تعمل عليه وتوجه إلى مسار وجود الملف باستخدام أمر cd وقم بتشغيل الملف باستخدام الأمر ruby متبوع باسم الملف.

    الناتج الذي ظهر أمامك هو محتوى المصفوفة بالتأكيد، في السطر الأول من البرنامج السابق قمنا بتعريف متغير keefcode وأسندنا له مصفوفة من القيم، بهذا الشكل يتم تعريف المصفوفات الجديدة (توجد طرق أخرى لكن هذه أسهلها)، وبعد ذلك قمنا بطباعة محتوى المصفوفة keefcode باستخدام الدالة puts وهي تقوم بطباعة كل عناصر المصفوفة متبوعة بسطر جديد، وإذا حاولت طباعة محتويات المتغير keefcode باستخدام الدالة print ستحصل على شكل المصفوفة الذي كتبته أنت في الشفرة البرمجية الخاصه بك (قم بتجربة ذلك).
    تنفيذ عمليات على عناصر المصفوفة قبل طباعتها:ماذا لو أردنا تنفيذ عملية على المصفوفة قبل طباعتها؟ في البرنامج التالي سنقوم بإضافة الرقم 1 لكل رقم داخل المصفوفة بعد ذلك سنطبع الناتج.


    قم بفتح محرر النصوص المفضل لديك.
    قم بكتابة الشفرة التالية داخله:

    Ruby


    arr = arr.each do |arr_element| puts arr_element + 1 end


    1








    2
    3
    4


    arr =
    arr.each do |arr_element|
    puts arr_element + 1
    end








    قم بحفظ الملف بأي اسم تحب، المهم أن ينتهي بامتداد .rb، على سبيل المثال each_array_element.rb.
    قم بفتح Terminal على نظام التشغيل الذي تعمل عليه وتوجه إلى مسار وجود الملف باستخدام أمر cd وقم بتشغيل الملف باستخدام الأمر ruby متبوع باسم الملف.

    الناتج الذي ستتحصل عليه هو كل عنصر داخل المصفوفة مضاف إلى قيمته الرقم 1، يعني تم طباعة الأرقام من 1 إلى 10، لكن ما هي each التي استخدمناها في البرنامج السابق؟ each هي دالة معرفة في اللغة تستخدم مع المصفوفات، وظيفتها تنفيذ الشفرة البرمجية المرسلة لها بين do-end على عدد عناصر المصفوفة.
    في البرنامج السابق عدد عناصر المصفوفة كان 10 عناصر، فقامت الدالة each بإعادة تنفيذ الشفرة البرمجية الموجودة بين do-end عدد 10 مرات، وتعطيك الدالة each أيضًا إمكانية استخدام كل عنصر داخل المصفوفة أثناء تنفيذ الشفرة المرسلة لها، حيث يتم استقبال كل عنصر داخل المتغير arr_element الموجود بين علامتي || (يمكنك تسمية المتغير الذي تُستقبل داخله عناصر المصفوفة بالاسم الذي تحب) وبعد ذلك يمكنك استخدام arr_element داخل الشفرة البرمجية الموجودة بين do-end.
    لاحظ أنه أي عمليات تقوم بها على قيم عناصر المصفوفة داخل شفرة الدالة each لا تؤثر بشكل مباشر على القيمة الموجودة داخل كل عنصر، فإذا قمت بإضافة السطر أدناه إلى البرنامج السابق وأعدت التنفيذ، ستجد أن ما تم طباعته من قِبل الدالة each يختلف تمامًا عن ما تم طباعته من قِبل السطر الجديد.
    Ruby


    print arr


    1










    print arr






    هذا يعني أن الدالة each لا تؤثر على قيم عناصر المصفوفة، فهي فقط تقوم بإعطائك إمكانية استخدام هذه القيم.
    تحدثنا في بداية هذا الموضوع عن قوة Ruby في التعامل مع المصفوفات والاحتفاظ بداخلها على أنواع مختلفة من البيانات، يمكنك تجربة ذلك بنفسك،
  2. بواسطة بهلول الرشيد

    شكرا لك
    بانتظار المزيد