الفرق بين المراجعتين لصفحة: «Ruby/IO/ungetbyte»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>IO.ungetbyte</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Rub...' |
جميل-بيلوني (نقاش | مساهمات) ط تدقيق |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby IO]] | [[تصنيف: Ruby IO]] | ||
يعيد التابع <code>ungetbyte</code> دفع (pushes) البايتات (الممررة كمعامل إليه) إلى [[Ruby/IO|المجرى]] الذي استُدعي معه، بحيث تعيدها القراءة التالية من المخزن المؤقت (buffer) لهذا المجرى. | |||
لا يمكنك أن تدفع إلا بايتًا واحدًا فقط قبل عملية القراءة اللاحقة (أي لن تتمكن من قراءة إلا آخر بايت من البايتات التي دفتعها). | |||
التابع <code>ungetbyte</code> ليس له أي تأثير مع القراءات غير التخزينية (unbuffered reads) مثل <code>[[Ruby/IO/sysread|sysread]]</code>. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">ungetbyte(string)→ nil | <syntaxhighlight lang="ruby">ungetbyte(string)→ nil | ||
سطر 9: | سطر 13: | ||
==المعاملات== | ==المعاملات== | ||
===<code>string</code>=== | ===<code>string</code>=== | ||
[[Ruby/String| | [[Ruby/String|السلسلة النصية]] المراد إرجاعها إلى المجرى. | ||
===<code>integer</code>=== | ===<code>integer</code>=== | ||
==القيمة | عدد صحيح يمثِّل قيمة البايت المراد إرجاعه إلى المجرى. | ||
==القيمة المعادة== | |||
تعاد القيمة <code>nil</code> بعد تنفيذ العملية. | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>ungetbyte</code>: | مثال على استخدام التابع <code>ungetbyte</code>: | ||
سطر 18: | سطر 26: | ||
f.ungetbyte(b) #=> nil | f.ungetbyte(b) #=> nil | ||
f.getbyte #=> 0x38</syntaxhighlight> | f.getbyte #=> 0x38</syntaxhighlight> | ||
==انظر | ==انظر أيضًا== | ||
* | * التابع [[Ruby/IO/getbyte|<code>getbyte</code>]]: يجلب البايت التالي من المجرى الذي استدعي معه. | ||
* التابع <code>[[Ruby/IO/ungetc|ungetc]]</code>: | |||
* التابع [[Ruby/IO/puts|<code>puts</code>]]: يكتب الكائن(ات) المُمرَّرة إليه في المجرى الذي استُدعي معه، ويضيف سطرًا جديدًا بعد الأسطر التي لا تنتهي بمحرف السطر الجديد ثم يعيد القيمة <code>nil</code>. | |||
* التابع <code>[[Ruby/IO/ungetc|ungetc]]</code>: يعيد دفع محرف واحد (الذي مُرِّر إليه) إلى [[Ruby/IO|المجرى]] الذي استُدعي معه، بحيث تعيده القراءة التالية من المخزن المؤقت (buffer). | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-ungetbyte قسم | *[http://ruby-doc.org/core-2.5.1/IO.html#method-i-ungetbyte قسم التابع ungetbyte في الصنف IO في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 12:26، 23 ديسمبر 2018
يعيد التابع ungetbyte
دفع (pushes) البايتات (الممررة كمعامل إليه) إلى المجرى الذي استُدعي معه، بحيث تعيدها القراءة التالية من المخزن المؤقت (buffer) لهذا المجرى.
لا يمكنك أن تدفع إلا بايتًا واحدًا فقط قبل عملية القراءة اللاحقة (أي لن تتمكن من قراءة إلا آخر بايت من البايتات التي دفتعها).
التابع ungetbyte
ليس له أي تأثير مع القراءات غير التخزينية (unbuffered reads) مثل sysread
.
البنية العامة
ungetbyte(string)→ nil
ungetbyte(integer) → nil
المعاملات
string
السلسلة النصية المراد إرجاعها إلى المجرى.
integer
عدد صحيح يمثِّل قيمة البايت المراد إرجاعه إلى المجرى.
القيمة المعادة
تعاد القيمة nil
بعد تنفيذ العملية.
أمثلة
مثال على استخدام التابع ungetbyte
:
f = File.new("testfile") #=> #<File:testfile>
b = f.getbyte #=> 0x38
f.ungetbyte(b) #=> nil
f.getbyte #=> 0x38
انظر أيضًا
- التابع
getbyte
: يجلب البايت التالي من المجرى الذي استدعي معه.
- التابع
puts
: يكتب الكائن(ات) المُمرَّرة إليه في المجرى الذي استُدعي معه، ويضيف سطرًا جديدًا بعد الأسطر التي لا تنتهي بمحرف السطر الجديد ثم يعيد القيمةnil
.
- التابع
ungetc
: يعيد دفع محرف واحد (الذي مُرِّر إليه) إلى المجرى الذي استُدعي معه، بحيث تعيده القراءة التالية من المخزن المؤقت (buffer).