MaxReve نشر 30 نوفمبر 2015 أرسل تقرير نشر 30 نوفمبر 2015 أريد الحصول على قائمة تحتوي أسماء المجلدات الموجودة في مجلد معين في لغة روبي، فما هي أسهل طريق لفعل ذلك؟ اقتباس
0 هشام رزق الله نشر 30 نوفمبر 2015 أرسل تقرير نشر 30 نوفمبر 2015 هنالك عدّة طرق للحصول على قائمة المجلدات في مجلد معين في لغة روبي، فإذا أردت حل سريع وقصير وفي سطر واحد فيمكنك استخدام هذه الطريقة التي استخدمنا فيها عدة توابع مثل Dir.entries وfile.directory? وغيرها: Dir.entries('/your_dir').select {|entry| File.directory? File.join('/your_dir',entry) and !(entry =='.' || entry == '..') } كما يمكنك استخدام هذه الطريقة السهلة والبسيطة والتي استخدمنا فيها تابع glob، وتدعم هذه الطريقة جميع المجلدات حتى المخفية منها كما في المثال التالي:Dir.chdir('/destination_directory') Dir.glob('*').select {|f| File.directory? f} ملاحظة: الملفات المخفية هي التي تبدأ بنقطة (.) اقتباس
0 Ali Haidar Ahmad نشر 25 مارس 2022 أرسل تقرير نشر 25 مارس 2022 اعتقد أن Pathname أكثر ملائمة لأسماء الملفات من السلاسل العادية strings. الكود التالي يُعطيك مصفوفة من جميع المجلدات ضمن المجلد المحدد ككائنات Pathname. require "pathname" Pathname.new(directory_name).children.select { |c| c.directory? } سبب آخر لتفضيل Pathname وهو أنه يحذف تلقائيًّا ملفات . و .. وملفات الملكية مثل DS_Store. عمومًا، إذا كنت تريد أن تكون سلاسل: Pathname.new(directory_name).children.select { |c| c.directory? }.collect { |p| p.to_s } إذا كان اسم المجلد مسار مطلق، فإن هذه السلاسل ستكون مطلقة أيضًا. اقتباس
السؤال
MaxReve
أريد الحصول على قائمة تحتوي أسماء المجلدات الموجودة في مجلد معين في لغة روبي، فما هي أسهل طريق لفعل ذلك؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.