التابع IO.reopen‎ في روبي

من موسوعة حسوب
< Ruby‏ | 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 المُعاد.

مصادر