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

كيف أحسب عدد الأسطر الموجودة في ملف معين في روبي؟

المبرمج العربي

السؤال

أريد حساب عدد الأسطر الموجودة في ملف معين بدون تحميل كامل الملف إلى ذاكرة في روبي، فما هي أسهل طريقة لفعل ذلك في لغة روبي؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

هنالك العديد من الطرق التي ستمكنك من حساب عدد الأسطر الموجودة في ملف معين، فإذا كنت على بيئة يونكس يمكنك ببساطة استخدام الأمر wc -l والذي لن يُحمّل كامل الملف إلى الذاكرة ويمكنك استخدامه داخل روبي كما في المثال التالي حيث أن المتغير filename يحتوي على مسار الملف المطلوب:

filename = 'a_file/somewhere.txt'
line_count = `wc -l "#{filename}"`.strip.split(' ')[0].to_i
p line_count

أو يمكنك استخدام دوال foreach و inject لقراءة الملف سطر سطر وتجنب قراءة كامل الملف مرة واحدة كما في المثال التالي:

count = File.foreach(filename).inject(0) {|c, line| c+1}
رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...