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

من موسوعة حسوب
< Ruby‏ | IO
اذهب إلى التنقل اذهب إلى البحث
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby IO]]
 
[[تصنيف: Ruby IO]]
يكتب التابع <code>write</code> [[Ruby/String|السلاسل النصية]] المعطاة في [[Ruby/IO|مجرى د/خ]] <code>ios</code>. يجب أن يكون المجرى مفتوحا في وضعية للكتابة. سيتم تحويل الوسائط غير النصية إلى [[Ruby/String|سلسلة نصية]] باستخدام <code>to_s</code>. يُعيد التابع <code>write</code> عدد البايتات المكتوبة في الإجمال.
+
يكتب التابع <code>write</code> [[Ruby/String|السلاسل النصية]] المعطاة في [[Ruby/IO|مجرى د/خ]]. يجب أن يكون المجرى مفتوحا في وضعية للكتابة.  
  
 +
سيتم تحويل الوسائط غير النصية إلى [[Ruby/String|سلسلة نصية]] باستخدام التابع <code>to_s</code>.
  
 
+
يُعيد التابع <code>write</code> عدد البايتات المكتوبة إجمالا.
<code>produces:</code>
 
 
 
<syntaxhighlight lang="ruby">This is a test
 
That was 15 bytes of data‎</syntaxhighlight>
 
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">write(string, ...) → integer‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">write(string, ...) → integer‎</syntaxhighlight>
سطر 16: سطر 13:
 
===<code>string‎</code>===
 
===<code>string‎</code>===
 
[[Ruby/String|سلسلة نصية]]
 
[[Ruby/String|سلسلة نصية]]
===<code>...‎</code>===
 
 
==القيمة المُعادة==
 
==القيمة المُعادة==
 +
يُعيد التابع <code>write</code> عدد البايتات المكتوبة.
 +
 
==أمثلة==
 
==أمثلة==
 
مثال على استخدام التابع <code>write‎</code>:
 
مثال على استخدام التابع <code>write‎</code>:
 
<syntaxhighlight lang="ruby">count = $stdout.write("This is", " a test\n")
 
<syntaxhighlight lang="ruby">count = $stdout.write("This is", " a test\n")
puts "That was #{count} bytes of data"‎</syntaxhighlight>
+
puts "That was #{count} bytes of data"‎</syntaxhighlight>الناتج:<syntaxhighlight lang="ruby">This is a test
 +
That was 15 bytes of data‎</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/IO/ungetc|ungetc]]</code>: يدفع حرفا واحدا (المُمرر كوسيط) في [[Ruby/IO|مجرى د/خ]] الذي استُدعي معه <code>ios</code>، بحيث ستعيدها القراءة التالية من المخزن المؤقت (buffer). لا يمكنك أن تدفع إلا حرف واحد فقط قبل عملية القراءة اللاحقة (أي، لن تتمكن من قراءة إلا آخر حرف من الحروف التي دفتعها). ليس له أي تأثير مع القراءات غير التخزينية (unbuffered reads) (مثل <code>IO#sysread</code>).
+
* التابع <code>[[Ruby/IO/write_nonblock|write_nonblock]]</code>: يكتب [[Ruby/String|السلسلة النصية]] المعطاة في [[Ruby/IO|مجرى د/خ]] باستخدام استدعاء النظام <code>write(2)‎</code>
* التابع <code>[[Ruby/IO/write_nonblock|write_nonblock]]</code>: يكتب  [[Ruby/String|السلسلة النصية]] المعطاة في <code>ios</code> باستخدام استدعاء النظام write(2)‎ بعد تعيين O_NONBLOCK لواصف الملف (file descriptor) الأساسي.
 
 
==مصادر==
 
==مصادر==
 
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-write قسم  التابع write‎ في الصنف IO‎ في توثيق روبي الرسمي.]
 
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-write قسم  التابع write‎ في الصنف IO‎ في توثيق روبي الرسمي.]

مراجعة 21:42، 13 نوفمبر 2018

يكتب التابع write السلاسل النصية المعطاة في مجرى د/خ. يجب أن يكون المجرى مفتوحا في وضعية للكتابة.

سيتم تحويل الوسائط غير النصية إلى سلسلة نصية باستخدام التابع to_s.

يُعيد التابع write عدد البايتات المكتوبة إجمالا.

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

write(string, ...)  integer

المعاملات

string‎

سلسلة نصية

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

يُعيد التابع write عدد البايتات المكتوبة.

أمثلة

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

count = $stdout.write("This is", " a test\n")
puts "That was #{count} bytes of data"

الناتج:

This is a test
That was 15 bytes of data

انظر أيضا

مصادر