الفرق بين المراجعتين لصفحة: «Ruby/Kernel/gets»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 33: | سطر 33: | ||
And so on...</syntaxhighlight> | And so on...</syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Kernel/ | * التابع <code>[[Ruby/Kernel/gsub|gsub]]</code>: يكافئ التابع gsub التعبير <code>$_.gsub...</code>، باستثناء أنه سيتم تحديث <code>$_</code> في حال حدوث استبدال. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-gets قسم التابع gets في الصنف Kernel في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-gets قسم التابع gets في الصنف Kernel في توثيق روبي الرسمي.] |
مراجعة 10:20، 22 أكتوبر 2018
يعيد التابع gets
(ويُحيل على $_
) السطر الموالي من قائمة الملفات في المجرى ARGV
(أو $*
)، أو من مجرى الإدخال القياسي في حالة عدم تمرير أي ملفات في سطر الأوامر. ويعيد nil
عند نهاية الملف.
يحدد الوسيط الاختياري sep
فاصل السجل. يتم تضمين الفاصل مع محتويات كل سجل. قي حال كان الوسيط sep
يساوي nil
فسيقرأ التابع gets
كامل المحتوى، أما إذا كان الفاصل معدوم الطول (zero-length)، فسيقرأ فقرة واحدة في كل مرة من المدخلات، بحيث تكون الفقرات مقسمة بسطرين جديدين متتاليين. إذا كان الوسيط الأول عددًا صحيحًا، أو في حال تمرير الوسيط الثاني الاختياري، فإنّ السلسلة النصية المعادة لن تكون أطول من القيمة المحددة من حيث عدد البتات (bytes). في حال تمرير عدة أسماء ملفات إلى ARGV
، فسيقرأ gets(nil)
محتويات الملفات، واحدًا في كل مرة.
أسلوب البرمجة الذي يستخدم $_
كوسيط ضمني صار استخدامه أقل شيوعًا في مجتمع روبي.
البنية العامة
gets(sep=$/ [, getline_args]) → string or nil
gets(limit [, getline_args])→ string or nil
gets(sep, limit [, getline_args]) → string or nil
المعاملات
sep
يمثل الفاصل
getline_args
يحتوي أسماء الملفات.
limit
يحدد الطول الأقصى للسلسلة النصية المعادة.
القيمة المُعادة
يعيد التابع gets
السطر الموالي من قائمة الملفات في المجرى ARGV
(أو $*
)، أو من مجرى الإدخال القياسي في حالة عدم تمرير أي ملفات في سطر الأوامر. ويعيد nil
عند نهاية الملف.
أمثلة
مثال على استخدام التابع gets
:
ARGV << "testfile"
print while gets
الناتج:
This is line one
This is line two
This is line three
And so on...
انظر أيضا
- التابع
gsub
: يكافئ التابع gsub التعبير $_.gsub...
، باستثناء أنه سيتم تحديث$_
في حال حدوث استبدال.