الفرق بين المراجعتين لصفحة: «Ruby/IO/sysread»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط تدقيق |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby IO]] | [[تصنيف: Ruby IO]] | ||
يقرأ التابع <code>sysread</code> | يقرأ التابع <code>sysread</code> عددًا محدَّدًا من البايتات من المجرى الذي استدعي معه باستخدام قراءة منخفضة المستوى (low-level read)، ثم يُعيدها ك[[Ruby/String|سلسلة نصية]]. | ||
لا تخلط هذا التابع مع التوابع الأخرى التي تقرأ من [[Ruby/IO|المجرى]]، | لا تخلط هذا التابع مع التوابع الأخرى التي تقرأ من [[Ruby/IO|المجرى]]، وإلا ستحصل على نتائج غير متوقعة. | ||
يُطلَق الاستثناء <code>[[Ruby/SystemCallError|SystemCallError]]</code> عند حدوث خطأ، أو <code>[[Ruby/EOFError|EOFError]]</code> عند نهاية الملف. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">sysread(maxlen[, outbuf]) → string</syntaxhighlight> | <syntaxhighlight lang="ruby">sysread(maxlen[, outbuf]) → string</syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
===<code>maxlen</code>=== | ===<code>maxlen</code>=== | ||
الحد الأقصى للبايتات | [[Ruby/Integer|عدد صحيح]] يمثِّل الحد الأقصى للبايتات المراد قراءتها. | ||
===<code>outbuf</code>=== | ===<code>outbuf</code>=== | ||
في حال إعطاء هذا المعامل الاختياري، فينبغي أن يشير إلى <nowiki/>[[Ruby/String|السلسلة النصية]] التي ستتلقى البيانات المقروءة من المجرى. لن يحتوي <code>outbuf</code> إلا على البيانات المستلمة بعد استدعاء التابع حتى لو لم يكن فارغًا في البداية (أي ستُمسَح البيانات القديمة المخزنة فيه مسبقًا). | |||
==القيمة المعادة== | |||
تعاد ا<nowiki/>[[Ruby/String|لسلسلة النصية]] المقروءة من المجرى المعطى بحجم لا يتجاوز <code>maxlen</code> بايت. | |||
==أمثلة== | ==أمثلة== | ||
سطر 24: | سطر 22: | ||
<syntaxhighlight lang="ruby">f = File.new("testfile") | <syntaxhighlight lang="ruby">f = File.new("testfile") | ||
f.sysread(16) #=> "This is line one"</syntaxhighlight> | f.sysread(16) #=> "This is line one"</syntaxhighlight> | ||
==انظر | ==انظر أيضًا== | ||
* التابع <code>[[Ruby/IO/read-i|read]]</code>: يقرأ | * التابع <code>[[Ruby/IO/read-i|read]]</code>: يقرأ عددًا محدَّدًا من البايتات من [[Ruby/IO|المجرى]] الذي استدعي معه. | ||
* التابع <code>[[Ruby/IO/readbyte|readbyte]]</code>: يقرأ بايتًا واحدًا من المجرى الذي استدعي معه. | |||
* التابع [[Ruby/IO/sysseek|<code>sysseek</code>]]: يحرِّك مؤشر <nowiki/>[[Ruby/IO|المجرى]] الذي استدعي معه إلى موضع محدَّد. | |||
* التابع <code>[[Ruby/IO/syswrite|syswrite]]</code>: يكتب [[Ruby/String|السلسلة النصية]] المُمرَّرة إليه في [[Ruby/IO|المجرى]] الذي استُدعي معه باستخدام كتابة منخفض المستوى (low-level write). | |||
* التابع <code>[[Ruby/IO/syswrite|syswrite]]</code>: يكتب | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-sysread قسم | *[http://ruby-doc.org/core-2.5.1/IO.html#method-i-sysread قسم التابع sysread في الصنف 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
: يحرِّك مؤشر المجرى الذي استدعي معه إلى موضع محدَّد.
- التابع
syswrite
: يكتب السلسلة النصية المُمرَّرة إليه في المجرى الذي استُدعي معه باستخدام كتابة منخفض المستوى (low-level write).