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

من موسوعة حسوب
< Ruby‏ | IO
مراجعة 11:52، 23 ديسمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (تدقيق)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يقرأ التابع 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: يحرِّك مؤشر المجرى الذي استدعي معه إلى موضع محدَّد.

مصادر