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

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...