التابع gets‎ الخاص بالصنف Kernel في روبي

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

يعيد التابع 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...‎، باستثناء أنه سيتم تحديث $_ في حال حدوث استبدال.

مصادر