التابع 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
.