اذهب إلى المحتوى

السؤال

نشر

أجد في الكثير من التطبيقات المكتوبة لغة روبي رمز $، فما فائدة هذا الرمز؟ وكيف أستطيع استخدامه؟
مثال:

root = File.expand_path('../../..', __FILE__)
 begin
 require "#{root}/vendor/gems/environment"
 rescue LoadError
 $:.unshift("#{root}/activesupport/lib")
 $:.unshift("#{root}/actionpack/lib")
end

lib = File.expand_path("#{File.dirname(__FILE__)}/../lib")
$:.unshift(lib) unless $:.include?('lib') || $:.include?(lib)

require 'rubygems'
require 'test/unit'

require 'action_mailer'
require 'action_mailer/test_case'

فإلى ماذا يشير رمز $ في هذا المثال؟

Recommended Posts

  • 0
نشر

يشير هذا الرمز في لغة روبي إلى المتغيرات العامة والتي تختلف عن المتغيرات المحلية ومتغيرات المثيل (@instance variable) ومتغيرات الصنف (@@class variable)، وهي تستخدم في العادة للبحث عن الملفات الخارجية كما يقول هذا المرجع:

$: تحميل المسار للسكربتات والوحدات الثنائية (binary modules) عن طريق load أو require

لذلك فإن السطر التالي:

$:.unshift

يشبه من ناحية عمله هذا السطر:

$LOAD_PATH.unshift

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...