|
|
سطر 3: |
سطر 3: |
| [[تصنيف: Ruby Method]] | | [[تصنيف: Ruby Method]] |
| [[تصنيف: Ruby ARGF]] | | [[تصنيف: Ruby ARGF]] |
| يعيد التابع [[Ruby/ARGF/each_line | <code>each_line</code>]] مُعرِّفًا ثابتًا (<code>enumerator</code>) يتكرر (<code>iterates</code>) عبر كل سطر (الذي يُفصَل بالفاصلة الممرَّرة) من كل ملف من الملفات الموجودة في <code>ARGV</code>. في حال تمرير كتلة برمجية للتابع [[Ruby/ARGF/each_line | <code>each_line</code>]]، فسيُمرّر كل سطر بدوره إلى تلك الكتلة، وإلا فسيعاد مُعرِّف ثابت (<code>enumerator</code>).
| | التابع <code>()each</code> هو اسم بديل مهمل (deprecated) للتابع <code>each_line</code>. |
| يسمح لك هذا التابع بمعالجة الملفات المُمرَّرة من سطر الأوامر كما لو كانت ملفًا واحدًا مكونًا من سلسلة من هذه الملفات المسماة. بعد إعادة السطر الأخير من الملف الأول، سيُعاد السطر الأول من الملف الثاني. يمكن استخدام التابعيْن [[Ruby/ARGF/ARGF | <code>ARGF</code>]].[[Ruby/ARGF/filename | <code>filename</code>]] و [[Ruby/ARGF/ARGF | <code>ARGF</code>]].[[Ruby/ARGF/lineno | <code>lineno</code>]] لمعرفة اسم الملف ورقم السطر، على التوالي، للسطر الحالي.
| |
| ==البنية العامة==
| |
| <syntaxhighlight lang="ruby"> each(sep=$/) {|line| block } → ARGF
| |
| each(sep=$/, limit) {|line| block } → ARGF
| |
| each(...) → an_enumerator
| |
| </syntaxhighlight>
| |
| ==المعاملات==
| |
| <code>sep</code>
| |
| محرف السطر الجديد المستعمل في فصل الأسطر عن بعضها بعضًا. قيمته الافتراضية هي محرف السطر الجديد المستعمل في المنصة المستخدمة آنذاك.
| |
| <code>limit</code>
| |
| عدد صحيح يحدد الحد الأقصى لطول كل سطر، وستُقسَم السطور الطويلة التي تزيد عن هذا الحد وفقًا للقيمة <code>limit</code> المعطاة.
| |
| ...
| |
| ==القيم المعادة==
| |
| يعاد مُعرِّف ثابت (<code>enumerator</code>) أو المجرى [[Ruby/ARGF/ARGF | <code>ARGF</code>]].
| |
| ==أمثلة==
| |
| تطبع الشيفرة التالية كل سطر من كل ملف مسبوق برقمه، مع عرض اسم الملف مرة واحدة لكل ملف:
| |
| <syntaxhighlight lang="ruby">
| |
| | |
| ARGF.each_line do |line|
| |
| puts ARGF.filename if ARGF.lineno == 1
| |
| puts "#{ARGF.lineno}: #{line}"
| |
| end
| |
| </syntaxhighlight>
| |
| ==انظر أيضًا== | | ==انظر أيضًا== |
| * التابع [[Ruby/ARGF/each_line | <code>each_line</code>]]: يعيد معرفًا ثابتًا (<code>enumerator</code>) يتكرر (<code>iterates</code>) عبر كل سطر (الذي يفصل بالفاصلة الممرَّرة) من كل ملف من الملفات الموجودة في <code>ARGV</code>. | | * التابع [[Ruby/ARGF/each_line | <code>each_line</code>]]: يعيد معرفًا ثابتًا (<code>enumerator</code>) يتكرر (iterates) عبر كل سطر (الذي يفصل بالفاصلة الممرَّرة) من كل ملف من الملفات الموجودة في <code>ARGV</code>. |
| ==مصادر== | | ==مصادر== |
| * قسم التابع each في الصنف ARGF في توثيق روبي الرسمي. | | * [http://ruby-doc.org/core-2.5.1/ARGF.html#method-i-each قسم التابع each في الصنف ARGF في توثيق روبي الرسمي.] |
التابع ()each
هو اسم بديل مهمل (deprecated) للتابع each_line
.
انظر أيضًا
- التابع
each_line
: يعيد معرفًا ثابتًا (enumerator
) يتكرر (iterates) عبر كل سطر (الذي يفصل بالفاصلة الممرَّرة) من كل ملف من الملفات الموجودة في ARGV
.
مصادر