البرمجة

استخدام رموز %i و %I في Ruby

عندما نتحدث عن لغة برمجة Ruby وإطار العمل Ruby on Rails، فإن استخدام رموز مثل %i و %I يأتي في سياق تعريف مصفوفة من الرموز. تُستخدم هذه الرموز لإنشاء مصفوفة تحتوي على مجموعة من الرموز بشكل سريع وفعال.

بالنسبة لرمز %i، يتم استخدامه لإنشاء مصفوفة من الرموز (symbols) بدون تقديم تحليل (interpolation) داخلي. بمعنى آخر، فإن الرموز المدرجة بعد %i ستكون محاطة بفاصلة فارغة، ولن يتم تحويل أي متغيرات أو تعبيرات داخلية.

أما بالنسبة لرمز %I، فيتم استخدامه بنفس الطريقة، ولكن يتم السماح بالتحليل الداخلي، مما يعني أنه يمكن استخدام تعبيرات Ruby في الرموز المدرجة بعد %I.

على سبيل المثال، إذا كنت ترغب في إنشاء مصفوفة تحتوي على عدة رموز لأسماء الأشخاص، يمكنك استخدام الرمز %i كالتالي:

ruby
names = %i[John Jane James]

سينشئ هذا مصفوفة تحتوي على الرموز :John، :Jane، و:James بدون أي تحليل داخلي.

أما إذا كنت ترغب في استخدام تحليل داخلي للتعبيرات، يمكنك استخدام %I:

ruby
name = "John" names = %I[#{name} Jane James]

هنا، سيتم تحليل المتغير name داخل الرمز المدرج بعد %I، لذا ستكون قيمة الرمز الأول :John بدلاً من كونها “:name”.

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

في عالم تطوير الويب باستخدام إطار العمل Ruby on Rails، تكون فهم مثل هذه الرموز مهمة للغاية للمطورين. فهي تسهل كتابة الشفرة بشكل أكثر إنتاجية ويسرًا، وتسهل الصيانة والقراءة لاحقًا.

لتوضيح الأمور بشكل أفضل، دعوني أقدم لك مثالًا تطبيقيًا:

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

فلنفترض أننا نريد قبول حقول مثل “الاسم”، “البريد الإلكتروني”، و “التعليق”، يمكننا تعريف مصفوفة من الرموز باستخدام %i كما يلي:

ruby
fields = %i[name email comment]

هذا سينشئ مصفوفة تحتوي على الرموز :name، :email، و :comment. وبعد ذلك يمكننا استخدام هذه المصفوفة في شفرتنا لإجراء التحقق من صحة البيانات المدخلة أو في أي سياق آخر يتطلب العمل مع هذه الحقول.

أما إذا كنا نرغب في استخدام تحليل داخلي لتعبيرات مثل اسم المستخدم، يمكننا استخدام %I كما يلي:

ruby
username = "John" fields = %I[#{username} email comment]

هنا، سيتم تحليل المتغير username داخل الرمز المدرج بعد %I، لذا ستكون قيمة الرمز الأول :John بدلاً من كونها “:username”.

بهذه الطريقة، يمكننا استخدام الرموز %i و %I لتعريف مصفوفات من الرموز بشكل سريع وفعال في Ruby، مما يساعد في جعل الشفرة أكثر قراءة وصيانة وإنتاجية.

مقالات ذات صلة

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

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!