المبرمج العربي نشر 30 ديسمبر 2015 أرسل تقرير نشر 30 ديسمبر 2015 أريد حساب عدد الأسطر الموجودة في ملف معين بدون تحميل كامل الملف إلى ذاكرة في روبي، فما هي أسهل طريقة لفعل ذلك في لغة روبي؟ اقتباس
0 هشام رزق الله نشر 30 ديسمبر 2015 أرسل تقرير نشر 30 ديسمبر 2015 هنالك العديد من الطرق التي ستمكنك من حساب عدد الأسطر الموجودة في ملف معين، فإذا كنت على بيئة يونكس يمكنك ببساطة استخدام الأمر 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} اقتباس
السؤال
المبرمج العربي
أريد حساب عدد الأسطر الموجودة في ملف معين بدون تحميل كامل الملف إلى ذاكرة في روبي، فما هي أسهل طريقة لفعل ذلك في لغة روبي؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.