MaxReve نشر 23 نوفمبر 2015 أرسل تقرير نشر 23 نوفمبر 2015 في الكثير من الأحيان عندما أقرأ شيفرات برمجية مكتوبة بلغة روبي أجد رموز غريبة مثل :: كما في المثال التالي:module Artifice NET_HTTP = ::Net::HTTP # ... end فماذا يعني هذا الرمز؟ اقتباس
0 هشام رزق الله نشر 23 نوفمبر 2015 أرسل تقرير نشر 23 نوفمبر 2015 يرمز هذا الرمز في لغة روبي بالنطاق العام بدلا من المحلي، أي سيُمكنّك هذا الرمز من الوصول إلى دوال وأصناف ووحدات داخل وحدات أخرى.في حالة وجود تابع أو وحدة تبحث عنها داخل وحدات أخرى فيجب عليك إذا استدعائها بكتابة أسماء هذه الوحدات ومن ثم افصل بينها باستخدام هذا الرمز ليصبح كمسار لهذا التابع/الوحدة.لتفهم هذا الرمز بشكل أفضل انظر إلى المثال التالي والذي يشرح الوحدات الداخلية والعامة:module A def self.method; "Outer"; end end module B module A def self.method; "Inner"; end end A.method # => "Inner" ::A.method # => "Outer" end اقتباس
0 Ali Haidar Ahmad نشر 1 أبريل 2022 أرسل تقرير نشر 1 أبريل 2022 :: يُسمى عامل تحليل النطاق. مهمته هي تحديد النطاق الذي يمكن العثور على الوحدة فيه. علي سبيل المثال: module Music module Record # لفرقة البيتلز Abbey Road مثلاً نسخة من end module EightTrack # مثل أغنية سوف أنجو للمغنية غلوريا جاينور end end module Record # لإضافة عنصر إلى قاعدة البيانات end للوصول إلى Record من خارج Music، يمكنك استخدام Music :: Record. للإشارة إلى Record من Music :: EightTrack، يمكنك ببساطة استخدام Record لأنه تم تعريفه في نفس النطاق (نطاق Music ). ومع ذلك، للوصول إلى وحدة Record المسؤولة عن التفاعل مع قاعدة البيانات الخاصة بك من Music :: EightTrack، لا يمكنك فقط استخدام Record لأن روبي يعتقد أنك تريد Music :: Record. وهنا يأتي الوقت الذي ستستخدم فيه عامل تحليل النطاق كبادئة prefix، مع تحديد النطاق الرئيسي Record:: اقتباس
السؤال
MaxReve
في الكثير من الأحيان عندما أقرأ شيفرات برمجية مكتوبة بلغة روبي أجد رموز غريبة مثل :: كما في المثال التالي:
فماذا يعني هذا الرمز؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.