الفرق بين المراجعتين لصفحة: «Ruby/IO/ungetbyte»

من موسوعة حسوب
< Ruby‏ | IO
لا ملخص تعديل
ط تدقيق
 
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby IO]]
[[تصنيف: Ruby IO]]
يدفع (Pushes back) التابع <code>ungetbyte</code> البايتات (الممررة كوسيط) إلى [[Ruby/IO|مجرى د/خ]] الذي استُدعي معه، بحيث تعيدها القراءة التالية من المخزن المؤقت (buffer).  
يعيد التابع <code>ungetbyte</code> دفع (pushes) البايتات (الممررة كمعامل إليه) إلى [[Ruby/IO|المجرى]] الذي استُدعي معه، بحيث تعيدها القراءة التالية من المخزن المؤقت (buffer) لهذا المجرى.  


لا يمكنك أن تدفع إلا بايتًا واحدا فقط قبل عملية القراءة اللاحقة (أي، لن تتمكن من قراءة إلا آخر بايت من البايتات التي دفتعها).  
لا يمكنك أن تدفع إلا بايتًا واحدًا فقط قبل عملية القراءة اللاحقة (أي لن تتمكن من قراءة إلا آخر بايت من البايتات التي دفتعها).  


التابع <code>ungetbyte</code> ليس له أي تأثير مع القراءات غير التخزينية (unbuffered reads) (مثل <code>[[Ruby/IO/sysread|sysread]]</code>).
التابع <code>ungetbyte</code> ليس له أي تأثير مع القراءات غير التخزينية (unbuffered reads) مثل <code>[[Ruby/IO/sysread|sysread]]</code>.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">ungetbyte(string)→ nil
<syntaxhighlight lang="ruby">ungetbyte(string)→ nil
سطر 13: سطر 13:
==المعاملات==
==المعاملات==
===<code>string‎</code>===
===<code>string‎</code>===
[[Ruby/String|سلسلة نصية]]
[[Ruby/String|السلسلة النصية]] المراد إرجاعها إلى المجرى.
===<code>integer‎</code>===
===<code>integer‎</code>===
عدد صحيح.
عدد صحيح يمثِّل قيمة البايت المراد إرجاعه إلى المجرى.


==القيمة المُعادة==
==القيمة المعادة==
يعيد  التابع <code>ungetbyte</code> القيمة <code>nil</code>.
تعاد القيمة <code>nil</code> بعد تنفيذ العملية.


==أمثلة==
==أمثلة==
سطر 26: سطر 26:
f.ungetbyte(b)            #=> nil
f.ungetbyte(b)            #=> nil
f.getbyte                  #=> 0x38‎</syntaxhighlight>
f.getbyte                  #=> 0x38‎</syntaxhighlight>
==انظر أيضا==
==انظر أيضًا==
* التابع <code>[[Ruby/IO/ungetc|ungetc]]</code>: يدفع  حرفا واحدا (المُمرر كوسيط) في [[Ruby/IO|مجرى د/خ]] الذي استُدعي معه
* التابع [[Ruby/IO/getbyte|<code>getbyte</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 قسم التابع ungetbyte‎ في الصنف IO‎ في توثيق روبي الرسمي.]
*[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). 

مصادر