الفرق بين المراجعتين لصفحة: «Ruby/IO/sysread»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>IO.sysread</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby...' |
جميل-بيلوني (نقاش | مساهمات) ط تدقيق |
||
(مراجعتان متوسطتان بواسطة مستخدم واحد آخر غير معروضتين) | |||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby IO]] | [[تصنيف: Ruby IO]] | ||
يقرأ التابع <code>sysread</code> | يقرأ التابع <code>sysread</code> عددًا محدَّدًا من البايتات من المجرى الذي استدعي معه باستخدام قراءة منخفضة المستوى (low-level read)، ثم يُعيدها ك[[Ruby/String|سلسلة نصية]]. | ||
لا تخلط هذا التابع مع التوابع الأخرى التي تقرأ من [[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> بايت. | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>sysread</code>: | مثال على استخدام التابع <code>sysread</code>: | ||
<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/ | * التابع <code>[[Ruby/IO/read-i|read]]</code>: يقرأ عددًا محدَّدًا من البايتات من [[Ruby/IO|المجرى]] الذي استدعي معه. | ||
* التابع <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). | |||
==مصادر== | ==مصادر== | ||
*[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).