الفرق بين المراجعتين لصفحة: «Ruby/IO/gets»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>IO.gets</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method [[تصنيف: Ruby IO]...' |
جميل-بيلوني (نقاش | مساهمات) ط تدقيق |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby IO]] | [[تصنيف: Ruby IO]] | ||
يجلب التابع <code>gets</code> السطر التالي من [[Ruby/IO|المجرى]] الذي استدعي معه. | |||
يجب أن يكون المجرى مفتوحًا في وضعية القراءة وإلا سيُطلَق الاستثناء <code>[[Ruby/IOError|IOError]]</code>. | |||
إن كان [[Ruby/IO|المجرى]] يحتوي على حروف متعددة البايتات، فستعيد <code>gets(1)</code> الحرف بالكامل. | |||
إن كان [[Ruby/IO| | |||
==البنية العامة== | ==البنية العامة== | ||
<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>/$</code>. إن كانت قيمته <code>nil</code>، فستُقرَأ آنذاك جميع محتويات المجرى (أي سيمثِّل نهاية المجرى). | |||
===<code>limit</code>=== | ===<code>limit</code>=== | ||
عدد صحيح يمثل الحد الأٌقصى | عدد صحيح يمثل الحد الأٌقصى لعدد البايتات المراد قراءتها. إن كانت قيمته 0، فستُقرَأ فقرة في كل مرة من المجرى (تُفصل الفقرات بسطرين منفصلين). | ||
==القيمة | |||
=== <code>getline_args</code> === | |||
راجع صفحة <code>[[Ruby/IO/readlines|readlines]]</code> لمزيد من التفاصيل حول هذا المعامل. | |||
==القيمة المعادة== | |||
ستعاد سلسلة نصية تمثِّل السطر المقروء من المجرى المعطى وستُسنَد قيمتها إلى المتغير <code>$_</code>، أو ستعاد القيمة <code>nil</code> عند الوصول إلى نهاية الملف. | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>gets</code>: | مثال على استخدام التابع <code>gets</code>:<syntaxhighlight lang="ruby">File.new("testfile").gets #=> "This is line one\n" | ||
<syntaxhighlight lang="ruby">File.new("testfile").gets #=> "This is line one\n" | |||
$_ #=> "This is line one\n" | $_ #=> "This is line one\n" | ||
File.new("testfile").gets(4)#=> "This"</syntaxhighlight> | File.new("testfile").gets(4)#=> "This"</syntaxhighlight>مثال على استعمال التابع <code>gets</code> مع لغة يأخذ المحرف فيها بايتين: | ||
==انظر | <syntaxhighlight lang="ruby"># الحروف الروسية تأخذ بايتين | ||
* التابع <code>[[Ruby/IO/ | File.write("testfile", "\u{442 435 441 442}") | ||
* التابع <code>[[Ruby/IO/inspect|inspect]]</code>: يُعيد | File.open("testfile") {|f|f.gets(1)} #=> "\u0442" | ||
File.open("testfile") {|f|f.gets(2)} #=> "\u0442" | |||
File.open("testfile") {|f|f.gets(3)} #=> "\u0442\u0435" | |||
File.open("testfile") {|f|f.gets(4)} #=> "\u0442\u0435" | |||
</syntaxhighlight> | |||
==انظر أيضًا== | |||
* التابع <code>[[Ruby/IO/getbyte|getbyte]]</code>: يجلب البايت التالي من [[Ruby/IO|المجرى]] الذي استدعي معه. | |||
* التابع <code>[[Ruby/IO/getc|getc]]</code>: يجلب محرفًا واحدًا من [[Ruby/IO|المجرى]] الذي استدعي معه. | |||
* التابع <code>[[Ruby/IO/inspect|inspect]]</code>: يُعيد [[Ruby/String|سلسلة نصية]] تصف [[Ruby/IO|المجرى]] الذي استُدعي معه. | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-gets قسم | *[http://ruby-doc.org/core-2.5.1/IO.html#method-i-gets قسم التابع gets في الصنف IO في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 11:46، 22 ديسمبر 2018
يجلب التابع gets
السطر التالي من المجرى الذي استدعي معه.
يجب أن يكون المجرى مفتوحًا في وضعية القراءة وإلا سيُطلَق الاستثناء IOError
.
إن كان المجرى يحتوي على حروف متعددة البايتات، فستعيد gets(1)
الحرف بالكامل.
البنية العامة
gets(sep=$/ [, getline_args]) → string or nil
gets(limit [, getline_args])→ string or nil
gets(sep, limit [, getline_args]) → string or nil
المعاملات
sep
المحرف الفاصل بين الأسطر. القيمة الافتراضية هي: /$
. إن كانت قيمته nil
، فستُقرَأ آنذاك جميع محتويات المجرى (أي سيمثِّل نهاية المجرى).
limit
عدد صحيح يمثل الحد الأٌقصى لعدد البايتات المراد قراءتها. إن كانت قيمته 0، فستُقرَأ فقرة في كل مرة من المجرى (تُفصل الفقرات بسطرين منفصلين).
getline_args
راجع صفحة readlines
لمزيد من التفاصيل حول هذا المعامل.
القيمة المعادة
ستعاد سلسلة نصية تمثِّل السطر المقروء من المجرى المعطى وستُسنَد قيمتها إلى المتغير $_
، أو ستعاد القيمة nil
عند الوصول إلى نهاية الملف.
أمثلة
مثال على استخدام التابع gets
:
File.new("testfile").gets #=> "This is line one\n"
$_ #=> "This is line one\n"
File.new("testfile").gets(4)#=> "This"
مثال على استعمال التابع gets
مع لغة يأخذ المحرف فيها بايتين:
# الحروف الروسية تأخذ بايتين
File.write("testfile", "\u{442 435 441 442}")
File.open("testfile") {|f|f.gets(1)} #=> "\u0442"
File.open("testfile") {|f|f.gets(2)} #=> "\u0442"
File.open("testfile") {|f|f.gets(3)} #=> "\u0442\u0435"
File.open("testfile") {|f|f.gets(4)} #=> "\u0442\u0435"
انظر أيضًا
- التابع
getbyte
: يجلب البايت التالي من المجرى الذي استدعي معه. - التابع
getc
: يجلب محرفًا واحدًا من المجرى الذي استدعي معه. - التابع
inspect
: يُعيد سلسلة نصية تصف المجرى الذي استُدعي معه.