الفرق بين المراجعتين لصفحة: «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> | يقرأ التابع <code>gets</code> السطر التالي من [[Ruby/IO|مجرى د/خ]]. السطور مفصولة بالوسيط <code>sep</code> (انظر فقرة البنية العامة). إن كان الفاصل يساوي <code>nil</code>، فسيقرأ المحتويات بالكامل، أما إن كان معدوم الطول، فستُقرؤ فقرة في كل مرة من مجرى الإدخال (تُفصل الفقرات بسطرين منفصلين). | ||
يجب أن يكون المجرى مفتوحًا في وضعية القراءة أو سيُرفع استثناء <code>IOError</code>. | |||
سيُعاد السطر المقروء، وستُحال قيمته على المتغير <code>$_</code>. أو ستعاد القيمة <code>nil</code> إن استُدعي التابع <code>gets</code> عند نهاية الملف. | |||
إن كان [[Ruby/ | إن كان الوسيط الأول عددًا صحيحًا أو إن أعطي الوسيط الاختياري الثاني، فلن تكون [[Ruby/String|السلسلة النصية]] المعادة أطول من القيمة المحددة من حيث عدد البايتات.<syntaxhighlight lang="ruby">File.new("testfile").gets #=> "This is line one\n" | ||
$_ #=> "This is line one\n" | |||
File.new("testfile").gets(4)#=> "This"</syntaxhighlight>إن كان [[Ruby/IO|مجرى د/خ]] يحتوي على حروف متعددة البايتات، فستعيد <code>gets(1)</code> الحرف بالكامل. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">gets(sep=$/ [, getline_args]) → string or nil | <syntaxhighlight lang="ruby">gets(sep=$/ [, getline_args]) → string or nil | ||
سطر 15: | سطر 19: | ||
===<code>sep</code>=== | ===<code>sep</code>=== | ||
فاصل | فاصل | ||
===<code>limit</code>=== | ===<code>limit</code>=== | ||
عدد صحيح يمثل الحد الأٌقصى | عدد صحيح يمثل الحد الأٌقصى لعدد البايتات المقروءة. | ||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
سيُعاد السطر المقروء، أو ستعاد القيمة <code>nil</code> إن استُدعي التابع <code>gets</code> عند نهاية الملف. | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>gets</code>: | مثال على استخدام التابع <code>gets</code>: | ||
<syntaxhighlight lang="ruby">File. | <syntaxhighlight lang="ruby"># الحروف الروسية تأخذ بتتين | ||
File.write("testfile", "\u{442 435 441 442}") | |||
File. | 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/getc|getc]]</code>: يقرأ [[Ruby/String|سلسلة نصية]] مُؤلفة من حرف واحد من [[Ruby/IO|مجرى د/خ]] | * التابع <code>[[Ruby/IO/getc|getc]]</code>: يقرأ [[Ruby/String|سلسلة نصية]] مُؤلفة من حرف واحد من [[Ruby/IO|مجرى د/خ]] | ||
* التابع <code>[[Ruby/IO/inspect|inspect]]</code>: يُعيد [[Ruby/String|سلسلة نصية]] تصف [[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 قسم التابع gets في الصنف IO في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/IO.html#method-i-gets قسم التابع gets في الصنف IO في توثيق روبي الرسمي.] |
مراجعة 14:15، 13 نوفمبر 2018
يقرأ التابع gets
السطر التالي من مجرى د/خ. السطور مفصولة بالوسيط sep
(انظر فقرة البنية العامة). إن كان الفاصل يساوي nil
، فسيقرأ المحتويات بالكامل، أما إن كان معدوم الطول، فستُقرؤ فقرة في كل مرة من مجرى الإدخال (تُفصل الفقرات بسطرين منفصلين).
يجب أن يكون المجرى مفتوحًا في وضعية القراءة أو سيُرفع استثناء IOError
.
سيُعاد السطر المقروء، وستُحال قيمته على المتغير $_
. أو ستعاد القيمة nil
إن استُدعي التابع gets
عند نهاية الملف.
إن كان الوسيط الأول عددًا صحيحًا أو إن أعطي الوسيط الاختياري الثاني، فلن تكون السلسلة النصية المعادة أطول من القيمة المحددة من حيث عدد البايتات.
File.new("testfile").gets #=> "This is line one\n"
$_ #=> "This is line one\n"
File.new("testfile").gets(4)#=> "This"
إن كان مجرى د/خ يحتوي على حروف متعددة البايتات، فستعيد 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
فاصل
limit
عدد صحيح يمثل الحد الأٌقصى لعدد البايتات المقروءة.
القيمة المُعادة
سيُعاد السطر المقروء، أو ستعاد القيمة nil
إن استُدعي التابع gets
عند نهاية الملف.
أمثلة
مثال على استخدام التابع 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"
انظر أيضا
- التابع
getc
: يقرأ سلسلة نصية مُؤلفة من حرف واحد من مجرى د/خ - التابع
inspect
: يُعيد سلسلة نصية تصف مجرى د/خ الذي استُدعي معه.