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

من موسوعة حسوب
< Ruby‏ | IO
مراجعة 16:09، 13 نوفمبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>IO.pread‎</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby IO...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

يقرأ التابع pread maxlen (انظر فقرة البنية العامة) بايت من مجرى د/خ ios باستخدام استدعاء النظام pread، ثم يُعيدها كسلسلة نصية من غير تعديل إزاحة (offset) الواصف الأساسي. هذا مفيد مقارنة بالجمع بين #seek و #read في كونه ذريًا (atomic)، مما يسمح لعدة مهام فرعية/عمليات بالتشارك في نفس مجرى د/خ IO لقراءة الملف في مواضع مختلفة. هذا سيتجاوز أي مساحة تخزين مؤقت للمستخدمين من طبقة مجرى د/خ IO. في حال إعطاء الوسيط الاختياري outbuf (انظر فقرة البنية العامة)، فينبغي أن يشير إلى سلسلة نصية String، والتي ستتلقى البيانات. سيُطلق استثناء SystemCallError عند الخطأ، أو EOFError عند نهاية الملف، أو NotImplementedError إن لم يكن نظام التشغيل يدعم استدعاء النظام.

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

pread(maxlen, offset[, outbuf])  string

المعاملات

maxlen‎

offset‎

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

outbuf‎

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

أمثلة

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

File.write("testfile", "This is line one\nThis is line two\n")
File.open("testfile") do |f|
  p f.read           # => "This is line one\nThis is line two\n"
  p f.pread(12, 0)   # => "This is line"
  p f.pread(9, 8)    # => "line one\n"
end

انظر أيضا

  • التابع pos=: يسعى إلى التموضع عند الإزاحة المحددة (بالبايت) في مجرى د/خ ios. ليس مضمونا أن يكون التموضع صحيحًا عندما يكون مجرى د/خ ios في الوضع النصي (textmode).
  • التابع print: يكتب الكائن(ات) المعطاة في مجرى د/خ ios. ثم يُعيد nil.

مصادر