البرمجة

فروق بين الرموز والسلاسل في Ruby

في لغة Ruby، هناك فرق بين استخدام : و => في بناء الهاشات (hashes). الهاشات في Ruby هي مجموعة من الأزواج المفتاح-القيمة، ويتم استخدامها لتخزين البيانات بشكل منظم. الفرق الرئيسي بين الاستخدامين هو كيفية تفسير الهاشات.

  1. استخدام :
    عندما تستخدم النقطة (:) في بناء الهاش، فإنه ينشئ رمز (symbol) بدلاً من سلسلة نصية (string). الرموز في Ruby هي مماثلة للسلاسل النصية ولكنها تكون ثابتة (immutable)، مما يعني أنها لا يمكن تغييرها. على سبيل المثال:

    ruby
    a = {:a => 'b'}

    في هذا المثال، :a هو رمز، و 'b' هو القيمة المرتبطة به.

  2. استخدام =>
    عند استخدام => في بناء الهاش، يكون الجانب الأيسر عادة مفتاحًا (key)، والجانب الأيمن قيمة (value). يمكنك استخدام السلسلة النصية كمفتاح أو كقيمة. على سبيل المثال:

    ruby
    a = {'a' => 'b'}

    في هذا المثال، 'a' هو مفتاح، و 'b' هو القيمة المرتبطة به.

لذلك، الفرق الرئيسي بين الأمثلتين التي ذكرتهما هو أن الأول يستخدم رمزًا (:) والثاني يستخدم => لإنشاء الهاشات في Ruby.

المزيد من المعلومات

بالتأكيد! في Ruby، الرموز (symbols) والسلاسل النصية (strings) يختلفان في طريقة تخزينهم واستخدامهم. إليك بعض المعلومات الإضافية عن كل منهما:

  1. الرموز (Symbols):

    • الرموز هي مشابهة للسلاسل النصية ولكنها تكون ثابتة (immutable)، مما يعني أنها لا يمكن تغييرها.
    • تُستخدم الرموز عادة كمفاتيح في الهاشات (hashes)، حيث تعتبر أكثر كفاءة في الاستخدام وتوفيرًا للذاكرة مقارنة بالسلاسل النصية.
    • يتم تمثيل الرموز بواسطة النقطة والإسم المُقفل بين قوسين مثل :symbol_name.
  2. السلاسل النصية (Strings):

    • السلاسل النصية هي تسلسل من الأحرف النصية المحيطة بعلامات تنصيص (مزدوجة أو مفردة).
    • تُستخدم السلاسل النصية عادة لتمثيل النصوص والبيانات التي يمكن تغييرها.
    • يمكنك إنشاء سلسلة نصية بوضع النص بين علامات تنصيص مزدوجة مثل "string" أو مفردة مثل 'string'.

لذلك، عند استخدام الرموز، يجب استخدامها عندما لا يكون التغيير في القيمة مطلوبًا، بينما يجب استخدام السلاسل النصية عندما تحتاج إلى نص قابل للتغيير.

زر الذهاب إلى الأعلى