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

السؤال

Recommended Posts

  • 0
نشر

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

> $LOADED_FEATURES.
   select { |feature| feature.include? 'gems' }.
   map { |feature| File.dirname(feature) }.
   map { |feature| feature.split('/').last }.
   uniq.sort

أو يمكنك استخدام طريقة أخرى حيث ستنشئ ملف جديد (مثلا requires.rb) وتضع فيها التالي:

alias :orig_require :require
def require s
  print "Requires #{s}\n" if orig_require(s)
end

ومن ثم يمكنك استخدامه مع أي تطبيق روبي ليعطيك أسماء الملفات والوحدات التي تم استدعاؤها -بافتراض أن myprogram هو البرنامج المطلوب-:

ruby -r requires.rb myprogram.rb

 

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...