الفرق بين المراجعتين لصفحة: «Ruby/IO/copy stream»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
| سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code>copy_stream | <noinclude>{{DISPLAYTITLE: التابع <code>IO.copy_stream</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby IO]] | [[تصنيف: Ruby IO]] | ||
ينسخ التابع <code> | ينسخ التابع <code>copy_stream</code> بيانات من مجرى إلى مجرى آخر. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">copy_stream(src, dst) | <syntaxhighlight lang="ruby">copy_stream(src, dst) | ||
| سطر 22: | سطر 10: | ||
==المعاملات== | ==المعاملات== | ||
===<code>src</code>=== | ===<code>src</code>=== | ||
المصدر. | اسم ملف أو كائن مشابه للصنف <code>[[Ruby/IO|IO]]</code> يمثِّل المصدر الذي سيُقرَأ منه. الكائنات المشابهة للصنف [[Ruby/IO|<code>IO</code>]] المُمررة إلى هذا المعامل يجب أن تُعرّف التابع <code>[[Ruby/IO/readpartial|readpartial]]</code> أو <code>[[Ruby/IO/read-i|read]]</code>. | ||
===<code>dst</code>=== | ===<code>dst</code>=== | ||
اسم ملف أو كائن مشابه للصنف <code>[[Ruby/IO|IO]]</code> يمثِّل الوجه التي ستُكتَب فيها البيانات التي قُرأَت من المصدر <code>src</code>. يجب أن يكون للكائنات المشابهة للصنف <code>[[Ruby/IO|IO]]</code> الممررة إلى المعامل <code>dst</code> التابع <code>[[Ruby/IO/write-i|write]]</code>. (في بعض الحالات، يمكن استخدام آليات خاصة، مثل استدعاء النظام <code>sendfile</code>). | |||
===<code>copy_length</code>=== | ===<code>copy_length</code>=== | ||
طول النسخ. | طول البيانات المراد نسخها من المجرى <code>src</code> إلى المجرى <code>dst</code> بالبايت بدءًا من بداية الملف أو الموضع <code>src_offset</code>. إلى لم يُعطَ هذا المعامل، فستتوقف عملية النسخ عند نهاية الملف. | ||
===<code>src_offset</code>=== | ===<code>src_offset</code>=== | ||
مقدار إزاحة المؤشر بدءًا من بداية المجرى <code>src_offset</code> بالبايت الذي يحدد موضع بدء عملية النسخ. إن لم يُعطَ هذا المعامل، فستبدأ عملية النسخ من بداية الملف. عند تحديد قيمة المعامل <code>src_offset</code> وعندما يكون المعامل <code>src</code> كائنٌ من النوع <code>[[Ruby/IO|IO]]</code>، فلن يحرك التابع <code>copy_stream</code> موضع إزاحة الملف الحالي. | |||
== القيمة المعادة == | |||
يعاد عدد صحيح يمثِّل عدد البايتات التي نُسخَت من <code>src</code> إلى <code>dst</code>. | |||
==انظر | ==انظر أيضًا== | ||
*التابع <code>[[Ruby/IO/binwrite|binwrite]]</code>: | *التابع <code>[[Ruby/IO/binwrite|binwrite]]</code>: يشبه التابع <code>[[Ruby/IO/write|write]]</code> باستثناء أنه يفتح الملف في الوضع الثنائي (binary mode) وبالترميز ASCII-8BIT. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/IO.html#method-c-copy_stream قسم | *[http://ruby-doc.org/core-2.5.1/IO.html#method-c-copy_stream قسم التابع copy_stream في الصنف 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.