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