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

من موسوعة حسوب
< Ruby‏ | IO
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<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> (انظر فقرة البنية العامة) بايتًا من [[Ruby/IO|مجرى د/خ]] الذي استُدعي معه <code>ios</code> باستخدام قراءة منخفضة المستوى (low-level read) ويُعيدها ك[[Ruby/String|سلسلة نصية]].  لا تخلط هذا التابع مع التوابع الأخرى التي تقرأ من [[Ruby/IO|مجرى د/خ]] <code>ios</code>، أو قد تحصل على نتائج غير متوقعة.
+
يقرأ التابع <code>sysread</code> <code>maxlen</code> (انظر فقرة البنية العامة) بايتًا باستخدام قراءة منخفضة المستوى (low-level read)، ثم يُعيدها ك[[Ruby/String|سلسلة نصية]].  
  
في حال إعطاء الوسيط الاختياري <code>outbuf</code>، فينبغي أن يشير إلى [[Ruby/String|سلسلة نصية]] <code>[[Ruby/String|String]]</code>، والتي ستتلقى البيانات. لن يحتوي <code>outbuf</code> إلا البيانات المستلمة بعد استدعاء التابع حتى إذا لم يكن فارغاً في البداية.
+
لا تخلط هذا التابع مع التوابع الأخرى التي تقرأ من [[Ruby/IO|المجرى]]، أو قد تحصل على نتائج غير متوقعة.
  
يُطلق الاستثناء <code>SystemCallError</code> عند حدوث خطأ، و <code>EOFError</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/sync-3D|sync=]]</code>: يضبط  قيمة راية وضع المزامنة “sync mode' عند إحدى القيمتين <code>true</code> أو <code>false</code>. عندما تكون قيمة وضع المزامنة true، فسيتم إرسال كل المخرجات فورًا إلى نظام التشغيل، ولن تُخزن (buffered) داخليًا. يُعيد  الحالة الجديدة. انظر أيضا صفحة <code>IO#fsync</code>.
+
* التابع <code>[[Ruby/IO/read-i|read]]</code>: يقرأ عددا من البايتات من مجرى د/خ.
* التابع <code>[[Ruby/IO/sysseek|sysseek]]</code>: يسعى  إلى التموضع عند الإزاحة المعطاة <code>offset</code> (انظر فقرة البنية العامة) وفقا لقيمة <code>whence</code> (انظر <code>IO#seek</code> للتعرف على القيم الممكنة للوسيط <code>whence</code>). يُعيد الإزاحة الجديدة للملف.
+
 
 +
* التابع <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

يقرأ التابع 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 عند نهاية الملف.

مصادر