التابع IO.sysread
في روبي
يقرأ التابع sysread
عددًا محدَّدًا من البايتات من المجرى الذي استدعي معه باستخدام قراءة منخفضة المستوى (low-level read)، ثم يُعيدها كسلسلة نصية.
لا تخلط هذا التابع مع التوابع الأخرى التي تقرأ من المجرى، وإلا ستحصل على نتائج غير متوقعة.
يُطلَق الاستثناء SystemCallError
عند حدوث خطأ، أو EOFError
عند نهاية الملف.
البنية العامة
sysread(maxlen[, outbuf]) → string
المعاملات
maxlen
عدد صحيح يمثِّل الحد الأقصى للبايتات المراد قراءتها.
outbuf
في حال إعطاء هذا المعامل الاختياري، فينبغي أن يشير إلى السلسلة النصية التي ستتلقى البيانات المقروءة من المجرى. لن يحتوي outbuf
إلا على البيانات المستلمة بعد استدعاء التابع حتى لو لم يكن فارغًا في البداية (أي ستُمسَح البيانات القديمة المخزنة فيه مسبقًا).
القيمة المعادة
تعاد السلسلة النصية المقروءة من المجرى المعطى بحجم لا يتجاوز maxlen
بايت.
أمثلة
مثال على استخدام التابع sysread
:
f = File.new("testfile")
f.sysread(16) #=> "This is line one"
انظر أيضًا
- التابع
read
: يقرأ عددًا محدَّدًا من البايتات من المجرى الذي استدعي معه. - التابع
readbyte
: يقرأ بايتًا واحدًا من المجرى الذي استدعي معه. - التابع
sysseek
: يحرِّك مؤشر المجرى الذي استدعي معه إلى موضع محدَّد.
- التابع
syswrite
: يكتب السلسلة النصية المُمرَّرة إليه في المجرى الذي استُدعي معه باستخدام كتابة منخفض المستوى (low-level write).