الفرق بين المراجعتين لصفحة: «Ruby/ARGF/each line»

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

المراجعة الحالية بتاريخ 12:00، 3 أكتوبر 2018

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

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

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

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

المعاملات

sep

محرف السطر الجديد المستعمل في فصل الأسطر عن بعضها بعضًا. قيمته الافتراضية هي محرف السطر الجديد المستعمل في المنصة المستخدمة آنذاك.

limit

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

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

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

أمثلة

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

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

انظر أيضًا

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

مصادر