الفرق بين المراجعتين لصفحة: «Ruby/IO/pwrite»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>IO.pwrite</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby I...' |
جميل-بيلوني (نقاش | مساهمات) ط تدقيق |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby IO]] | [[تصنيف: Ruby IO]] | ||
يكتب التابع <code>pwrite</code> [[Ruby/String|السلسلة النصية]] | يكتب التابع <code>pwrite</code> [[Ruby/String|السلسلة النصية]] المُمرَّرة إليه في موضع محدَّد من [[Ruby/IO|المجرى]] الذي استُدعي معه باستخدام استدعاء دالة النظام <code>pwrite()</code>. | ||
هذا مفيد مقارنة بالجمع بين التابعين <code>[[Ruby/IO/seek|seek]]</code> و <code>[[Ruby/IO/write|write]]</code> معا في كونه ذريًا (atomic)، مما يسمح لعدة [[Ruby/Thread|مهام فرعية]]/عمليات بالتشارك في نفس [[Ruby/IO|المجرى]] لقراءة الملف من مواضع مختلفة. هذا سيتجاوز أي مساحة تخزين مؤقت للمستخدمين من [[Ruby/IO|المجرى]]. | |||
سيعيد التابع <code>pwrite</code> عدد البايتات المكتوبة، أو سيُطلق الاستثناء <code>[[Ruby/SystemCallError|SystemCallError]]</code> في حال حدوث خطأ، أو <code>[[Ruby/NotImplementedError|NotImplementedError]]</code> إذا لم يكن نظام الشغيل يدعم استدعاء النظام. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">pwrite(string, offset) → integer</syntaxhighlight> | <syntaxhighlight lang="ruby">pwrite(string, offset) → integer</syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
===<code>string</code>=== | ===<code>string</code>=== | ||
[[Ruby/String|سلسلة نصية]] | [[Ruby/String|سلسلة نصية]] يراد كتابتها على المجرى المعطى. | ||
===<code>offset</code>=== | ===<code>offset</code>=== | ||
عدد صحيح يمثل | [[Ruby/Integer|عدد صحيح]] يمثل مقدار إزاحة موضع المؤشر إلى المكان الذي يراد كتابة السلسلة النصية <code>string</code> فيه. | ||
==القيمة | ==القيمة المعادة== | ||
يعاد عدد صحيح يمثِّل عدد البايتات المكتوبة في المجرى. | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>pwrite</code>: | مثال على استخدام التابع <code>pwrite</code>: | ||
سطر 18: | سطر 24: | ||
end | end | ||
File.read("out") #=> "\u0000\u0000\u0000ABCDEF"</syntaxhighlight> | File.read("out") #=> "\u0000\u0000\u0000ABCDEF"</syntaxhighlight> | ||
==انظر | ==انظر أيضًا== | ||
* التابع <code>[[Ruby/IO/puts|puts]]</code>: يكتب | * التابع [[Ruby/IO/printf|<code>printf</code>]]: ينسق الكائنات المُمرَّرة إليه ثم يكتبها في المجرى الذي استدعي معه. | ||
* التابع <code>[[Ruby/IO/read-i|read]]</code>: يقرأ | |||
* التابع <code>[[Ruby/IO/puts|puts]]</code>: يكتب الكائن(ات) المُمرَّرة إليه في المجرى الذي استُدعي معه، ويضيف سطرًا جديدًا بعد الأسطر التي لا تنتهي بمحرف السطر الجديد ثم يعيد القيمة <code>nil</code>. | |||
* التابع <code>[[Ruby/IO/read-i|read]]</code>: يقرأ عددًا محدَّدًا من البايتات من [[Ruby/IO|المجرى]] الذي استدعي معه | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-pwrite قسم | *[http://ruby-doc.org/core-2.5.1/IO.html#method-i-pwrite قسم التابع pwrite في الصنف IO في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 08:28، 23 ديسمبر 2018
يكتب التابع pwrite
السلسلة النصية المُمرَّرة إليه في موضع محدَّد من المجرى الذي استُدعي معه باستخدام استدعاء دالة النظام pwrite()
.
هذا مفيد مقارنة بالجمع بين التابعين seek
و write
معا في كونه ذريًا (atomic)، مما يسمح لعدة مهام فرعية/عمليات بالتشارك في نفس المجرى لقراءة الملف من مواضع مختلفة. هذا سيتجاوز أي مساحة تخزين مؤقت للمستخدمين من المجرى.
سيعيد التابع pwrite
عدد البايتات المكتوبة، أو سيُطلق الاستثناء SystemCallError
في حال حدوث خطأ، أو NotImplementedError
إذا لم يكن نظام الشغيل يدعم استدعاء النظام.
البنية العامة
pwrite(string, offset) → integer
المعاملات
string
سلسلة نصية يراد كتابتها على المجرى المعطى.
offset
عدد صحيح يمثل مقدار إزاحة موضع المؤشر إلى المكان الذي يراد كتابة السلسلة النصية string
فيه.
القيمة المعادة
يعاد عدد صحيح يمثِّل عدد البايتات المكتوبة في المجرى.
أمثلة
مثال على استخدام التابع pwrite
:
File.open("out", "w") do |f|
f.pwrite("ABCDEF", 3) #=> 6
end
File.read("out") #=> "\u0000\u0000\u0000ABCDEF"
انظر أيضًا
- التابع
printf
: ينسق الكائنات المُمرَّرة إليه ثم يكتبها في المجرى الذي استدعي معه.
- التابع
puts
: يكتب الكائن(ات) المُمرَّرة إليه في المجرى الذي استُدعي معه، ويضيف سطرًا جديدًا بعد الأسطر التي لا تنتهي بمحرف السطر الجديد ثم يعيد القيمةnil
. - التابع
read
: يقرأ عددًا محدَّدًا من البايتات من المجرى الذي استدعي معه