• 0

ماذا تعني :: في لغة روبي؟

في الكثير من الأحيان عندما أقرأ شيفرات برمجية مكتوبة بلغة روبي أجد رموز غريبة مثل :: كما في المثال التالي:

module Artifice
  NET_HTTP = ::Net::HTTP
  # ...
end

فماذا يعني هذا الرمز؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يرمز هذا الرمز في لغة روبي بالنطاق العام بدلا من المحلي، أي سيُمكنّك هذا الرمز من الوصول إلى دوال وأصناف ووحدات داخل وحدات أخرى.
في حالة وجود تابع أو وحدة تبحث عنها داخل وحدات أخرى فيجب عليك إذا استدعائها بكتابة أسماء هذه الوحدات ومن ثم افصل بينها باستخدام هذا الرمز ليصبح كمسار لهذا التابع/الوحدة.
لتفهم هذا الرمز بشكل أفضل انظر إلى المثال التالي والذي يشرح الوحدات الداخلية والعامة:

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


انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن