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

من موسوعة حسوب
< Ruby‏ | IO
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>IO.ungetc‎</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby I...')
 
ط (تدقيق)
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby IO]]
 
[[تصنيف: Ruby IO]]
يدفع التابع <code>ungetc</code> حرفا واحدا (المُمرر كوسيط) في [[Ruby/IO|مجرى د/خ]] الذي استُدعي معه <code>ios</code>، بحيث ستعيدها القراءة التالية من المخزن المؤقت (buffer). لا يمكنك أن تدفع إلا حرف واحد فقط قبل عملية القراءة اللاحقة (أي، لن تتمكن من قراءة إلا آخر حرف من الحروف التي دفتعها). ليس له أي تأثير مع القراءات غير التخزينية (unbuffered reads) (مثل <code>IO#sysread</code>).
+
يعيد التابع <code>ungetc</code> دفع محرف واحد (الذي مُرِّر إليه) إلى [[Ruby/IO|المجرى]] الذي استُدعي معه، بحيث تعيده القراءة التالية من المخزن المؤقت (buffer).  
 +
 
 +
لا يمكنك أن تدفع إلا محرفًا واحدًا فقط قبل عملية القراءة اللاحقة (أي لن تتمكن من قراءة إلا آخر محرف من المحارف التي أرجعتها إلى المجرى).
 +
 
 +
ليس للتابع <code>ungetc</code> أي تأثير مع القراءات غير التخزينية (unbuffered reads) مثل <code>[[Ruby/IO/sysread|sysread]]</code>.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">ungetc(string)→ nil‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">ungetc(string)→ nil‎</syntaxhighlight>
 
==المعاملات==
 
==المعاملات==
 
===<code>string‎</code>===
 
===<code>string‎</code>===
[[Ruby/String|سلسلة نصية]]
+
[[Ruby/String|سلسلة نصية]] تحوي المحرف المراد إرجاعه إلى المجرى.
==القيمة المُعادة==
+
==القيمة المعادة==
 +
تعاد القيمة <code>nil</code> بعد تنفيذ العملية.
 +
 
 
==أمثلة==
 
==أمثلة==
 
مثال على استخدام التابع <code>ungetc‎</code>:
 
مثال على استخدام التابع <code>ungetc‎</code>:
سطر 16: سطر 22:
 
f.ungetc(c)                #=> nil
 
f.ungetc(c)                #=> nil
 
f.getc                    #=> "8"‎</syntaxhighlight>
 
f.getc                    #=> "8"‎</syntaxhighlight>
==انظر أيضا==
+
==انظر أيضًا==
* التابع <code>[[Ruby/IO/ungetbyte|ungetbyte]]</code>: يدفع (Pushes back)  البايتات (التي تم تمريرها كوسيط) إلى [[Ruby/IO|مجرى د/خ]] الذي استُدعي معه <code>ios</code>، بحيث ستعيدها القراءة التالية من المخزن المؤقت (buffer). لا يمكنك أن تدفع إلا بايتًا واحدا فقط قبل عملية القراءة اللاحقة (أي، لن تتمكن من قراءة إلا آخر بايت من البايتات التي دفتعها). ليس له أي تأثير مع القراءات غير التخزينية (unbuffered reads) (مثل <code>IO#sysread</code>).
+
* التابع [[Ruby/IO/getc|<code>getc</code>]]: يجلب محرفًا واحدًا من المجرى الذي استدعي معه.
* التابع <code>[[Ruby/IO/write-i|write]]</code>: يكتب  [[Ruby/String|السلاسل النصية]] المعطاة في [[Ruby/IO|مجرى د/خ]] <code>ios</code>. يجب أن يكون المجرى مفتوحا في وضعية للكتابة. سيتم تحويل الوسائط غير النصية إلى [[Ruby/String|سلسلة نصية]] باستخدام <code>to_s</code>. يُعيد  عدد البايتات المكتوبة في الإجمال.
+
 
 +
* التابع [[Ruby/IO/putc|<code>putc</code>]]: يكتب المحرف المُمرَّر إليه في المجرى الذي استدعي معه.
 +
 
 +
* التابع <code>[[Ruby/IO/ungetbyte|ungetbyte]]</code>: يعيد دفع (pushes) البايتات (الممررة كمعامل إليه) إلى [[Ruby/IO|المجرى]] الذي استُدعي معه، بحيث تعيدها القراءة التالية من المخزن المؤقت (buffer) لهذا المجرى. 
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-ungetc قسم التابع ungetc‎ في الصنف IO‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-ungetc قسم التابع ungetc‎ في الصنف IO‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 12:26، 23 ديسمبر 2018

يعيد التابع ungetc دفع محرف واحد (الذي مُرِّر إليه) إلى المجرى الذي استُدعي معه، بحيث تعيده القراءة التالية من المخزن المؤقت (buffer).

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

ليس للتابع ungetc أي تأثير مع القراءات غير التخزينية (unbuffered reads) مثل sysread.

البنية العامة

ungetc(string) nil

المعاملات

string‎

سلسلة نصية تحوي المحرف المراد إرجاعه إلى المجرى.

القيمة المعادة

تعاد القيمة nil بعد تنفيذ العملية.

أمثلة

مثال على استخدام التابع ungetc‎:

f = File.new("testfile")   #=> #<File:testfile>
c = f.getc                 #=> "8"
f.ungetc(c)                #=> nil
f.getc                     #=> "8"‎

انظر أيضًا

  • التابع getc: يجلب محرفًا واحدًا من المجرى الذي استدعي معه.
  • التابع putc: يكتب المحرف المُمرَّر إليه في المجرى الذي استدعي معه.
  • التابع ungetbyte: يعيد دفع (pushes) البايتات (الممررة كمعامل إليه) إلى المجرى الذي استُدعي معه، بحيث تعيدها القراءة التالية من المخزن المؤقت (buffer) لهذا المجرى. 

مصادر