الفرق بين المراجعتين لصفحة: «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.