الفرق بين المراجعتين ل"Ruby/IO/sysread"

من موسوعة حسوب
< Ruby‏ | IO
اذهب إلى التنقل اذهب إلى البحث
سطر 28: سطر 28:
  
 
* التابع <code>[[Ruby/IO/readbyte|readbyte]]</code>: يقرأ البايت كما يفعل التابع <code>IO#getbyte</code>، إلا أنه يُطلق الاستثناء <code>EOFError</code> عند نهاية الملف.
 
* التابع <code>[[Ruby/IO/readbyte|readbyte]]</code>: يقرأ البايت كما يفعل التابع <code>IO#getbyte</code>، إلا أنه يُطلق الاستثناء <code>EOFError</code> عند نهاية الملف.
 +
* التابع <code>[[Ruby/IO/syswrite|syswrite]]</code>: يكتب  [[Ruby/String|السلسلة النصية]] المعطاة في [[Ruby/IO|مجرى د/خ]] الذي استُدعي معه
  
 
==مصادر==
 
==مصادر==
 
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-sysread قسم  التابع sysread‎ في الصنف IO‎ في توثيق روبي الرسمي.]
 
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-sysread قسم  التابع sysread‎ في الصنف IO‎ في توثيق روبي الرسمي.]

مراجعة 20:53، 13 نوفمبر 2018

يقرأ التابع sysreadmaxlen (انظر فقرة البنية العامة) بايتًا باستخدام قراءة منخفضة المستوى (low-level read)، ثم يُعيدها كسلسلة نصية.

لا تخلط هذا التابع مع التوابع الأخرى التي تقرأ من المجرى، أو قد تحصل على نتائج غير متوقعة.

في حال إعطاء الوسيط الاختياري outbuf، فينبغي أن يشير إلى سلسلة نصية، والتي ستتلقى البيانات. لن يحتوي outbuf إلا البيانات المستلمة بعد استدعاء التابع حتى لو لم يكن فارغاً في البداية.

يُطلق الاستثناء SystemCallError عند حدوث خطأ، أو EOFError عند نهاية الملف.

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

sysread(maxlen[, outbuf])  string

المعاملات

maxlen‎

الحد الأقصى للبايتات المقروءة

outbuf‎

سلسلة نصية تتلقى البيانات

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

يعيد التابع sysreadmaxlen السلسلة النصية المقروءة.

أمثلة

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

f = File.new("testfile")
f.sysread(16)   #=> "This is line one"‎

انظر أيضا

  • التابع read: يقرأ عددا من البايتات من مجرى د/خ.
  • التابع readbyte: يقرأ البايت كما يفعل التابع IO#getbyte، إلا أنه يُطلق الاستثناء EOFError عند نهاية الملف.
  • التابع syswrite: يكتب السلسلة النصية المعطاة في مجرى د/خ الذي استُدعي معه

مصادر