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

من موسوعة حسوب
< Ruby‏ | IO
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>IO.puts‎</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method [[تصنيف: Ruby IO]...'
 
لا ملخص تعديل
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby IO]]
[[تصنيف: Ruby IO]]
يكتب التابع <code>puts</code> الكائن(اات) المعطى في [[Ruby/IO|مجرى د/خ]] <code>ios</code>. ويكتب سطرًا جديدا بعد أي سطر لا ينتهي بالفعل بمحرف السطر الجديد. ثم يعيد <code>nil</code>.
يكتب التابع <code>puts</code> الكائن(ات) المعطاة في [[Ruby/IO|مجرى د/خ]] الذي استُدعي معه، ويكتب سطرًا جديدا بعد الأسطر التي لا تنتهي بمحرف السطر الجديد. ثم يعيد <code>nil</code>. يجب أن يكون المجرى مفتوحًا في وضعية الكتابة.  


يجب أن يكون المجرى مفتوحًا في وضعية الكتابة. إن كان الوسيط المعطى [[Ruby/Array|مصفوفة]]، فسيكتب التابع <code>puts</code> كل عنصر من عناصر [[Ruby/Array|المصفوفة]] في سطر جديد. سيتم تحويل كل كائن لا يساوي [[Ruby/String|سلسلة نصية]] أو [[Ruby/Array|مصفوفة]] عن طريق استدعاء تابعه <code>to_s</code>. في حال استدعائه بدون وسائط، فستقوم بإخراج سطر جديد واحد.
إن كان الوسيط المعطى [[Ruby/Array|مصفوفة]]، فسيكتب التابع <code>puts</code> كل عنصر من عناصر [[Ruby/Array|المصفوفة]] في سطر جديد.  


إن لم يكن الكائن [[Ruby/String|سلسلة نصية]] أو [[Ruby/Array|مصفوفة]] فسيتم تحويله عن طريق استدعاء تابعه <code>to_s</code>.


في حال استدعاء التابع <code>puts</code> بدون وسائط، فسيقوم بإخراج سطر جديد واحد.


<code>produces:</code>
لاحظ أن <code>puts</code> يستخدم دائماً السطور الجديدة، ولا يتأثر بفاصل سجل الإخراج (<code>$\</code>).
 
 
 
لاحظ أن <code>puts</code> يستخدم دائماً السطور الجديدة، ولا يتأثر بفاصل سجل الإخراج (<code>$\</code>).
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">puts(obj, ...) → nil‎</syntaxhighlight>
<syntaxhighlight lang="ruby">puts(obj, ...) → nil‎</syntaxhighlight>
سطر 19: سطر 17:
===<code>obj‎</code>===
===<code>obj‎</code>===
كائن
كائن
===<code>...‎</code>===
==القيمة المُعادة==
==القيمة المُعادة==
يعيد<code>puts</code> القيمة <code>nil</code>.
==أمثلة==
==أمثلة==
مثال على استخدام التابع <code>puts‎</code>:
مثال على استخدام التابع <code>puts‎</code>:
<syntaxhighlight lang="ruby">$stdout.puts("this", "is", ["a", "test"])‎</syntaxhighlight>
<syntaxhighlight lang="ruby">$stdout.puts("this", "is", ["a", "test"])‎</syntaxhighlight>الناتج:<syntaxhighlight lang="ruby">this
is
a
test</syntaxhighlight>
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/IO/putc|putc]]</code>: إن كان الوسيط المعطى <code>obj</code> (انظر فقرة البنية العامة) عددًا <code>[[Ruby/Numeric|Numeric]]</code>، فسيكتب  الحرف الذي يكون رمزه هو البايت الأقل دلال (least-significant byte) من <code>obj</code>. وإن كان <code>obj</code> [[Ruby/String|سلسلة نصية]] <code>String</code>، فسيكتب أول حرف من <code>obj</code> في [[Ruby/IO|مجرى د/خ]] <code>ios</code>. خلاف ذلك، سيُطلق الاستثناء <code>TypeError</code>.
* التابع <code>[[Ruby/IO/putc|putc]]</code>: إن كان الوسيط المعطى <code>obj</code>عددًا، فسيكتب  الحرف الذي رمزه هو البايت الأقل دلال (least-significant byte) من <code>obj</code>.
* التابع <code>[[Ruby/IO/pwrite|pwrite]]</code>: يكتب  [[Ruby/String|السلسلة النصية]] المعطاة (انظر فقرة البنية العامة) في [[Ruby/IO|مجرى د/خ]] <code>ios</code> عند موضع الإزاحة <code>offset</code> باستخدام استدعاء النظام pwrite ()‎.  هذا مفيد مقارنة بالجمع بين <code>[[Ruby/IO/seek|#seek]]</code> و <code>[[Ruby/IO/write|#write]]</code> في كونه ذريًا (atomic)، مما يسمح لعدة [[Ruby/Thread|مهام فرعية]]/عمليات بالتشارك في نفس [[Ruby/IO|مجرى د/خ]] <code>[[Ruby/IO|IO]]</code> لقراءة الملف من مواضع مختلفة. هذا سيتجاوز أي مساحة تخزين مؤقت للمستخدمين من طبقة [[Ruby/IO|مجرى د/خ]] <code>[[Ruby/IO|IO]]</code>. سيعيد عدد البايتات المكتوبة. وسيُطلق الاستثناء <code>SystemCallError</code> في حال حدوث خطأ، أو <code>NotImplementedError</code> إذا لم يكن نظام الشغيل يدعم استدعاء النظام.
==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-puts قسم  التابع puts‎ في الصنف IO‎ في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-puts قسم  التابع puts‎ في الصنف IO‎ في توثيق روبي الرسمي.]

مراجعة 16:52، 13 نوفمبر 2018

يكتب التابع puts الكائن(ات) المعطاة في مجرى د/خ الذي استُدعي معه، ويكتب سطرًا جديدا بعد الأسطر التي لا تنتهي بمحرف السطر الجديد. ثم يعيد nil. يجب أن يكون المجرى مفتوحًا في وضعية الكتابة.

إن كان الوسيط المعطى مصفوفة، فسيكتب التابع puts كل عنصر من عناصر المصفوفة في سطر جديد.

إن لم يكن الكائن سلسلة نصية أو مصفوفة فسيتم تحويله عن طريق استدعاء تابعه to_s.

في حال استدعاء التابع puts بدون وسائط، فسيقوم بإخراج سطر جديد واحد.

لاحظ أن puts يستخدم دائماً السطور الجديدة، ولا يتأثر بفاصل سجل الإخراج (‎$\‎).

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

puts(obj, ...)  nil

المعاملات

obj‎

كائن

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

يعيدputs القيمة nil.

أمثلة

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

$stdout.puts("this", "is", ["a", "test"])

الناتج:

this
is
a
test

انظر أيضا

  • التابع putc: إن كان الوسيط المعطى objعددًا، فسيكتب الحرف الذي رمزه هو البايت الأقل دلال (least-significant byte) من obj.

مصادر