الفرق بين المراجعتين لصفحة: «Ruby/String/each line»
جميل-بيلوني (نقاش | مساهمات) إنشاء الصفحة. هذه الصفحة من مساهمات "كريم حبال". |
جميل-بيلوني (نقاش | مساهمات) إضافة المحتوى |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby String]] | [[تصنيف: Ruby String]] | ||
يقتطع التابع <code>each_line</code> السلسلة النصية التي استدعيت معه إلى أجزاء (كل جزء يمثِّل سطرًا افتراضيًّا) مفصولة بفاصل محدَّد ثم يمرِّر كل منها على حدة إلى الكتلة المعطاة. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">each_line(separator=$/ [, getline_args]) {|substr| block } → str | <syntaxhighlight lang="ruby">each_line(separator=$/ [, getline_args]) {|substr| block } → str | ||
each_line(separator=$/ [, getline_args]) → an_enumerator</syntaxhighlight> | each_line(separator=$/ [, getline_args]) → an_enumerator</syntaxhighlight> | ||
== المعاملات == | |||
=== <code>separator</code> === | |||
الفاصل المستعمل في تقطيع السلسلة النصية المعطاة إلى أجزاء. القيمة الافتراضية هي: <code>/$</code> (فاصل سطر جديد). إن أعطي فاصل معدوم الطول (zero-length)، فستُقتطَع السلسلة النصية إلى فقرات محدَّدة عبر عدة محارف سطر جديد متتالية. | |||
=== <code>getline_args</code> === | |||
اطلع على توثيق التابع <code>[[Ruby/IO/readlines#getline args.E2.80.8E|IO.readlines]]</code> لمزيد من التفاصيل حول هذا المعامل. | |||
==القيمة المعادة== | ==القيمة المعادة== | ||
يعاد | تعاد [[Ruby/String|سلسلة نصية]] تحوي الناتج الذي تعيده الكتلة <code>block</code> بعد تمرير كل جزء مقتطع من السلسلة النصية المعطاة إليها، أو يعاد كائن من النوع <code>[[Ruby/Enumerator|Enumerator]]</code> إن لم تُعطَ أية كتلة. | ||
==أمثلة== | ==أمثلة== | ||
سطر 18: | سطر 26: | ||
"hello\nworld".each_line('l') {|s| p s} | "hello\nworld".each_line('l') {|s| p s} | ||
print "Example three\n" | print "Example three\n" | ||
"hello\n\n\nworld".each_line('') {|s| p s}</syntaxhighlight> | "hello\n\n\nworld".each_line('') {|s| p s}</syntaxhighlight>ينتج عن تنفيذ هذا المثال:<syntaxhighlight lang="text"> | ||
==انظر | Example one | ||
"hello\n" | |||
"world" | |||
Example two | |||
"hel" | |||
"l" | |||
"o\nworl" | |||
"d" | |||
Example three | |||
"hello\n\n" | |||
"world" | |||
</syntaxhighlight> | |||
==انظر أيضًا== | |||
* التابع <code>[[Ruby/String/each byte|each_byte]]</code>: يُمرر كل بايت من بايتات السلسلة النصية التي استدعي معها إلى الكتلة المُعطاة. | |||
* التابع <code>[[Ruby/String/each char|each_char]]</code>: يُمرر كل محرف من محارف السلسلة النصية التي استدعي معها إلى الكتلة المُعطاة. | |||
* التابع <code>[[Ruby/String/each grapheme cluster|each_grapheme_cluster]]</code>: يمرِّر كل وحدة كتابية ([[wikipedia:Grapheme|grapheme]]) إلى الكتلة المعطاة ثم يعيد سلسلة نصية بالناتج الذي تعيده. | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/String.html#method-i-each_line قسم التابع each_line في الصنف String في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/String.html#method-i-each_line قسم التابع each_line في الصنف String في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 09:11، 2 فبراير 2019
يقتطع التابع each_line
السلسلة النصية التي استدعيت معه إلى أجزاء (كل جزء يمثِّل سطرًا افتراضيًّا) مفصولة بفاصل محدَّد ثم يمرِّر كل منها على حدة إلى الكتلة المعطاة.
البنية العامة
each_line(separator=$/ [, getline_args]) {|substr| block } → str
each_line(separator=$/ [, getline_args]) → an_enumerator
المعاملات
separator
الفاصل المستعمل في تقطيع السلسلة النصية المعطاة إلى أجزاء. القيمة الافتراضية هي: /$
(فاصل سطر جديد). إن أعطي فاصل معدوم الطول (zero-length)، فستُقتطَع السلسلة النصية إلى فقرات محدَّدة عبر عدة محارف سطر جديد متتالية.
getline_args
اطلع على توثيق التابع IO.readlines
لمزيد من التفاصيل حول هذا المعامل.
القيمة المعادة
تعاد سلسلة نصية تحوي الناتج الذي تعيده الكتلة block
بعد تمرير كل جزء مقتطع من السلسلة النصية المعطاة إليها، أو يعاد كائن من النوع Enumerator
إن لم تُعطَ أية كتلة.
أمثلة
مثال على استخدام التابع each_line
:
print "Example one\n"
"hello\nworld".each_line {|s| p s}
print "Example two\n"
"hello\nworld".each_line('l') {|s| p s}
print "Example three\n"
"hello\n\n\nworld".each_line('') {|s| p s}
ينتج عن تنفيذ هذا المثال:
Example one
"hello\n"
"world"
Example two
"hel"
"l"
"o\nworl"
"d"
Example three
"hello\n\n"
"world"
انظر أيضًا
- التابع
each_byte
: يُمرر كل بايت من بايتات السلسلة النصية التي استدعي معها إلى الكتلة المُعطاة. - التابع
each_char
: يُمرر كل محرف من محارف السلسلة النصية التي استدعي معها إلى الكتلة المُعطاة. - التابع
each_grapheme_cluster
: يمرِّر كل وحدة كتابية (grapheme) إلى الكتلة المعطاة ثم يعيد سلسلة نصية بالناتج الذي تعيده.