الفرق بين المراجعتين ل"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>maxlen</code> (انظر فقرة البنية العامة) بايتًا | + | يقرأ التابع <code>sysread</code> <code>maxlen</code> (انظر فقرة البنية العامة) بايتًا باستخدام قراءة منخفضة المستوى (low-level read)، ثم يُعيدها ك[[Ruby/String|سلسلة نصية]]. |
− | + | لا تخلط هذا التابع مع التوابع الأخرى التي تقرأ من [[Ruby/IO|المجرى]]، أو قد تحصل على نتائج غير متوقعة. | |
− | يُطلق الاستثناء <code>SystemCallError</code> عند حدوث خطأ، | + | في حال إعطاء الوسيط الاختياري <code>outbuf</code>، فينبغي أن يشير إلى [[Ruby/String|سلسلة نصية]]، والتي ستتلقى البيانات. لن يحتوي <code>outbuf</code> إلا البيانات المستلمة بعد استدعاء التابع حتى لو لم يكن فارغاً في البداية. |
+ | |||
+ | يُطلق الاستثناء <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>=== | ||
− | الحد الأقصى | + | الحد الأقصى للبايتات المقروءة |
===<code>outbuf</code>=== | ===<code>outbuf</code>=== | ||
سلسلة نصية تتلقى البيانات | سلسلة نصية تتلقى البيانات | ||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
+ | يعيد التابع <code>sysread</code> <code>maxlen</code> ا<nowiki/>[[Ruby/String|لسلسلة النصية]] المقروءة. | ||
+ | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>sysread</code>: | مثال على استخدام التابع <code>sysread</code>: | ||
سطر 21: | سطر 25: | ||
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>: يقرأ عددا من البايتات من مجرى د/خ. |
− | * التابع <code>[[Ruby/IO/ | + | |
+ | * التابع <code>[[Ruby/IO/readbyte|readbyte]]</code>: يقرأ البايت كما يفعل التابع <code>IO#getbyte</code>، إلا أنه يُطلق الاستثناء <code>EOFError</code> عند نهاية الملف. | ||
+ | |||
==مصادر== | ==مصادر== | ||
*[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:45، 13 نوفمبر 2018
يقرأ التابع sysread
maxlen
(انظر فقرة البنية العامة) بايتًا باستخدام قراءة منخفضة المستوى (low-level read)، ثم يُعيدها كسلسلة نصية.
لا تخلط هذا التابع مع التوابع الأخرى التي تقرأ من المجرى، أو قد تحصل على نتائج غير متوقعة.
في حال إعطاء الوسيط الاختياري outbuf
، فينبغي أن يشير إلى سلسلة نصية، والتي ستتلقى البيانات. لن يحتوي outbuf
إلا البيانات المستلمة بعد استدعاء التابع حتى لو لم يكن فارغاً في البداية.
يُطلق الاستثناء SystemCallError
عند حدوث خطأ، أو EOFError
عند نهاية الملف.
البنية العامة
sysread(maxlen[, outbuf]) → string
المعاملات
maxlen
الحد الأقصى للبايتات المقروءة
outbuf
سلسلة نصية تتلقى البيانات
القيمة المُعادة
يعيد التابع sysread
maxlen
السلسلة النصية المقروءة.
أمثلة
مثال على استخدام التابع sysread
:
f = File.new("testfile")
f.sysread(16) #=> "This is line one"
انظر أيضا
- التابع
read
: يقرأ عددا من البايتات من مجرى د/خ.
- التابع
readbyte
: يقرأ البايت كما يفعل التابعIO#getbyte
، إلا أنه يُطلق الاستثناءEOFError
عند نهاية الملف.