الفرق بين المراجعتين لصفحة: «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/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>
==المعاملات==
==المعاملات==
===<code>obj‎</code>===
===<code>obj‎</code>===
كائن
[[Ruby/String|سلسلة نصية]] أو [[Ruby/Array|مصفوفة]] يراد كتابة محتواها في المجرى المعطى.
===<code>...</code>===
 
==القيمة المُعادة==
<code>...</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="text">this
==انظر أيضا==
is
* التابع <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>.
a
* التابع <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> إذا لم يكن نظام الشغيل يدعم استدعاء النظام.
test</syntaxhighlight>
==انظر أيضًا==
* التابع [[Ruby/IO/print|<code>print</code>]]: يكتب الكائن (أو الكائنات) المُمرَّرة إليه في [[Ruby/IO|المجرى]] الذي استدعي معه ثم يُعيد القيمة <code>nil</code>. 
 
* التابع <code>[[Ruby/IO/putc|putc]]</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‎ في توثيق روبي الرسمي.]

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

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

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

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

في حال استدعاء التابع puts بدون تمرير أي شيء إليه، فسيكتب سطرًا جديدًا واحدًا في المجرى.

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

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

puts(obj, ...)  nil

المعاملات

obj‎

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

...

الكائنات الأخرى المراد كتابة محتواها ضمن المجرى المعطى.

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

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

أمثلة

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

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

الناتج:

this
is
a
test

انظر أيضًا

  • التابع print: يكتب الكائن (أو الكائنات) المُمرَّرة إليه في المجرى الذي استدعي معه ثم يُعيد القيمة nil
  • التابع putc: يكتب المحرف المُمرَّر إليه في المجرى الذي استدعي معه.

مصادر