الفرق بين المراجعتين ل"Ruby/ARGF/each line"

من موسوعة حسوب
< Ruby‏ | ARGF
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>ARGF.each_line</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby AR...')
(لا فرق)

مراجعة 10:38، 10 سبتمبر 2018

يعيد التابع each_line قيمة قابلة للعد (enumerator) تتكرر (iterates) عبر كل سطر (الذي يفصل بالفاصلة الممرَّرة) من كل ملف من الملفات الموجودة في ARGV. في حال تمرير كتلة برمجية للتابع each_line، فسيُمرّر كل سطر بدوره إلى تلك الكتلة، وإلا فستعاد قيمة قابلة للعد (enumerator). يسمح لك هذا التابع بمعالجة الملفات المُمرَّرة من سطر الأوامر كما لو كانت ملفًا واحدًا مكونًا من سلسلة من هذه الملفات المسماة. بعد إعادة السطر الأخير من الملف الأول، سيُعاد السطر الأول من الملف الثاني. يمكن استخدام التابعيْن ARGF. filename و ARGF. lineno لمعرفة اسم الملف ورقم السطر، على التوالي، للسطر الحالي.

المعاملات

sep محرف السطر الجديد المستعمل في فصل الأسطر عن بعضها بعضًا. قيمته الافتراضية هي محرف السطر الجديد المستعمل في المنصة المستخدمة آنذاك. limit عدد صحيح يحدد الحد الأقصى لطول كل سطر، وستُقسَم السطور الطويلة التي تزيد عن هذا الحد وفقًا للقيمة limit المعطاة. ...

البنية العامة

 each_line(sep=$/) {|line| block }  ARGF
each_line(sep=$/, limit) {|line| block }  ARGF
each_line(...)  an_enumerator

القيم المعادة

تعاد قيمة قابلة للعد (enumerator) أو يعاد المجرى ARGF.[a]

أمثلة

تطبع الشيفرة التالية كل سطر من كل ملف مسبوق برقمه، مع عرض اسم الملف مرة واحدة لكل ملف:

 

ARGF.each_line do |line|
 puts ARGF.filename if ARGF.lineno == 1
 puts "#{ARGF.lineno}: #{line}"
end

انظر أيضًا

  • التابع filename: يعيد اسم الملف الحالي.
  • التابع lineno: يجلب رقم السطر الحالي للمجرى ARGF ككُل.

مصادر

  • قسم التابع each_line في الصنف ARGF في توثيق روبي الرسمي.

[a]لم أفهم التابع جيدًا مما عاقني عن شرحه هنا :( +abdallatif.ey@gmail.com _تم التعيين إلى Abd Allatif_