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

من موسوعة حسوب
< Ruby‏ | IO
مراجعة 12:05، 19 ديسمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

ينسخ التابع copy_stream بيانات من مجرى إلى مجرى آخر.

البنية العامة

copy_stream(src, dst)
copy_stream(src, dst, copy_length)
copy_stream(src, dst, copy_length, src_offset)

المعاملات

src‎

اسم ملف أو كائن مشابه للصنف IO يمثِّل المصدر الذي سيُقرَأ منه. الكائنات المشابهة للصنف IO المُمررة إلى هذا المعامل يجب أن تُعرّف التابع readpartial أو read.

dst‎

اسم ملف أو كائن مشابه للصنف IO يمثِّل الوجه التي ستُكتَب فيها البيانات التي قُرأَت من المصدر src. يجب أن يكون للكائنات المشابهة للصنف IO الممررة إلى المعامل dst التابع write. (في بعض الحالات، يمكن استخدام آليات خاصة، مثل استدعاء النظام sendfile).

copy_length‎

طول البيانات المراد نسخها من المجرى src إلى المجرى dst بالبايت بدءًا من بداية الملف أو الموضع src_offset‎. إلى لم يُعطَ هذا المعامل، فستتوقف عملية النسخ عند نهاية الملف.

src_offset‎

مقدار إزاحة المؤشر بدءًا من بداية المجرى src_offset‎ بالبايت الذي يحدد موضع بدء عملية النسخ. إن لم يُعطَ هذا المعامل، فستبدأ عملية النسخ من بداية الملف. عند تحديد قيمة المعامل src_offset وعندما يكون المعامل src كائنٌ من النوع IO، فلن يحرك التابع copy_stream موضع إزاحة الملف الحالي.

القيمة المعادة

يعاد عدد صحيح يمثِّل عدد البايتات التي نُسخَت من src إلى dst.

انظر أيضًا

  • التابع binwrite: يشبه التابع write باستثناء أنه يفتح الملف في الوضع الثنائي (binary mode) وبالترميز ASCII-8BIT.

مصادر