• 0

كيف أحصل على اسم الملف دون الامتداد من مسار في الروبي ؟

كيف أستطيع الحصول على اسم الملف بدون امتداد من مسار في لغة الروبي؟ فمثلا لو كان المسار كالتالي:

C:\projects\win.dll

أريد الحصول فقط على "win”.

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


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

هنالك عدة طريق للقيام بذلك، فيمكنك استخدام وحدة Pathname (فهي حسب التوثيق الرسمي تعمل على ويندوز بدون مشاكل) لاستخراج اسم الملف من مسار كما في المثال التالي:

irb(main):007:0> require 'pathname'
irb(main):007:0> File.new('/opt/local/bin/ruby').basename
=> #<Pathname:ruby>

وإذا كنت تعرف الامتداد فيمكنك استخدام File.basename مع ذكر اسم الامتداد حتى يتم إرجاع اسم الملف بدون الامتداد، لأن File.basename تقوم بإرجاع آخر جزء من اسم الملف في المسار والذي سيكون مفصولا بواسطة "/” كما في المثال التالي:

File.basename("/home/gumby/work/ruby.rb")          #=> "ruby.rb"
File.basename("/home/gumby/work/ruby.rb", ".rb")   #=> "ruby"

كما يمكنك أيضا وضع نجمة * في مكان الامتداد لحذف جميع الامتدادات كما في المثال التالي:

File.basename("C:\\projects\\win.dll", ".*") #=> "win"

المصدر

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


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

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

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

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


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

تسجيل الدخول

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


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