الفرق بين المراجعتين لصفحة: «Ruby/IO/reopen»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>IO.reopen</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby I...' |
جميل-بيلوني (نقاش | مساهمات) ط تدقيق |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby IO]] | [[تصنيف: Ruby IO]] | ||
يعيد التابع <code>reopen</code> ربط [[Ruby/IO|المجرى]] الذي استُدعي معه مع [[Ruby/IO|مجرى]] آخر جديد أو موجود مسبقًا. قد يؤدي هذا إلى تغيير الصنف الفعلي لهذا المجرى ديناميكيًا. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">reopen(other_IO)→ ios | <syntaxhighlight lang="ruby">reopen(other_IO)→ ios | ||
سطر 9: | سطر 9: | ||
==المعاملات== | ==المعاملات== | ||
===<code>other_IO</code>=== | ===<code>other_IO</code>=== | ||
كائن من النوع <code>[[Ruby/IO|IO]]</code> يمثِّل مجرى موجود مسبقًا يراد ربطه بالمجرى المعطى. | |||
===<code>path</code>=== | ===<code>path</code>=== | ||
مسار يشير إلى مجرى جديد لفتحه من أجل ربطه بالمجرى المعطى. | |||
===<code>mode_str</code>=== | ===<code>mode_str</code>=== | ||
==القيمة | سلسلة نصية تمثل وضعية الفتح. اطلع على صفحة التابع <code>[[Ruby/IO/new|new]]</code> للمزيد حول أوضاع الفتح. | ||
==القيمة المعادة== | |||
يعاد [[Ruby/IO|المجرى]] المعطى بعد إعادة ربطه بالمجرى <code>other_IO</code> أو المجرى الجديد ذي المسار <code>path</code>. | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>reopen</code>: | مثال على استخدام التابع <code>reopen</code>: | ||
سطر 20: | سطر 26: | ||
f2.reopen(f1) #=> #<File:testfile> | f2.reopen(f1) #=> #<File:testfile> | ||
f2.readlines[0] #=> "This is line one\n"</syntaxhighlight> | f2.readlines[0] #=> "This is line one\n"</syntaxhighlight> | ||
==انظر | ==انظر أيضًا== | ||
* | * التابع [[Ruby/IO/open|<code>open</code>]]: يشبه التابعَ <code>[[Ruby/IO/new|new]]</code> تمامًا عند استدعائه دون كتلة، أو يُمرّر الكائن <code>IO</code> الذي جرى إنشاؤه كوسيط إلى الكتلة المعطاة ثم يعيد الناتج الذي تعيده الكتلة. | ||
* | * التابع [[Ruby/IO/pipe|<code>pipe</code>]]: ينشئ زوجًا من طرفي أنبوب (pipe endpoints) متصلين ببعضهما بعضًا ثم يعيدهما على هيئة [[Ruby/Array|مصفوفة]] من الكائنات <code>IO</code>. | ||
* التابع [[Ruby/IO/popen|<code>popen</code>]]: ينفذ الأمر المعطى كعملية فرعية (subprocess) مع توصيل المجرَيَين القياسيين للدخل والخرج للعملية الفرعية مع المجرى <code>IO</code> المُعاد. | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-reopen قسم | *[http://ruby-doc.org/core-2.5.1/IO.html#method-i-reopen قسم التابع reopen في الصنف IO في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 08:55، 23 ديسمبر 2018
يعيد التابع reopen
ربط المجرى الذي استُدعي معه مع مجرى آخر جديد أو موجود مسبقًا. قد يؤدي هذا إلى تغيير الصنف الفعلي لهذا المجرى ديناميكيًا.
البنية العامة
reopen(other_IO)→ ios
reopen(path, mode_str)→ ios
المعاملات
other_IO
كائن من النوع IO
يمثِّل مجرى موجود مسبقًا يراد ربطه بالمجرى المعطى.
path
مسار يشير إلى مجرى جديد لفتحه من أجل ربطه بالمجرى المعطى.
mode_str
سلسلة نصية تمثل وضعية الفتح. اطلع على صفحة التابع new
للمزيد حول أوضاع الفتح.
القيمة المعادة
يعاد المجرى المعطى بعد إعادة ربطه بالمجرى other_IO
أو المجرى الجديد ذي المسار path
.
أمثلة
مثال على استخدام التابع reopen
:
f1 = File.new("testfile")
f2 = File.new("testfile")
f2.readlines[0] #=> "This is line one\n"
f2.reopen(f1) #=> #<File:testfile>
f2.readlines[0] #=> "This is line one\n"
انظر أيضًا
- التابع
open
: يشبه التابعَnew
تمامًا عند استدعائه دون كتلة، أو يُمرّر الكائنIO
الذي جرى إنشاؤه كوسيط إلى الكتلة المعطاة ثم يعيد الناتج الذي تعيده الكتلة. - التابع
pipe
: ينشئ زوجًا من طرفي أنبوب (pipe endpoints) متصلين ببعضهما بعضًا ثم يعيدهما على هيئة مصفوفة من الكائناتIO
.
- التابع
popen
: ينفذ الأمر المعطى كعملية فرعية (subprocess) مع توصيل المجرَيَين القياسيين للدخل والخرج للعملية الفرعية مع المجرىIO
المُعاد.