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

من موسوعة حسوب

يكتب التابع pwrite السلسلة النصية المعطاة في مجرى د/خ الذي استُدعي معه عند موضع الإزاحة offset (انظر فقرة البنية العامة) باستخدام استدعاء النظام pwrite()‎.

هذا مفيد مقارنة بالجمع بين التابعين seek و write معا في كونه ذريًا (atomic)، مما يسمح لعدة مهام فرعية/عمليات بالتشارك في نفس مجرى د/خ لقراءة الملف من مواضع مختلفة. هذا سيتجاوز أي مساحة تخزين مؤقت للمستخدمين من مجرى د/خ.

سيعيد التابع pwrite عدد البايتات المكتوبة. وسيُطلق الاستثناء SystemCallError في حال حدوث خطأ، أو NotImplementedError إذا لم يكن نظام الشغيل يدعم استدعاء النظام.

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

pwrite(string, offset)  integer

المعاملات

string‎

سلسلة نصية

offset‎

عدد صحيح يمثل الإزاحة

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

يعيد التابع pwrite عدد البايتات المكتوبة

أمثلة

مثال على استخدام التابع pwrite‎:

File.open("out", "w") do |f|
  f.pwrite("ABCDEF", 3)   #=> 6
end
File.read("out")          #=> "\u0000\u0000\u0000ABCDEF"‎

انظر أيضا

مصادر