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

من موسوعة حسوب
< Ruby‏ | IO
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>IO.each_byte‎</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Rub...')
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby IO]]
 
[[تصنيف: Ruby IO]]
يستدعي التابع <code>each_byte</code> الكتلة المعطاة مرة لكل بايت (0..255) في [[Ruby/IO|مجرى د/خ]] <code>ios</code>، مع تمرير البايت كوسيط. يجب أن يكون المجرى مفتوحًا في وضعية القراءة أو سيُرفع استثناء <code>IOError</code>.
+
يستدعي التابع <code>each_byte</code> الكتلة المعطاة على لكل بايت (0..255) في [[Ruby/IO|مجرى د/خ]]، مع تمرير البايت كوسيط.  
  
في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف enumerator بدلاً من ذلك.
+
يجب أن يكون المجرى مفتوحًا في وضعية القراءة أو سيُرفع استثناء <code>IOError</code>.
 +
 
 +
في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف [[Ruby/Enumerator|Enumerator]]  بدلاً من ذلك.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">each_byte {|byte| block }  → ios
 
<syntaxhighlight lang="ruby">each_byte {|byte| block }  → ios
 
each_byte→ an_enumerator‎</syntaxhighlight>
 
each_byte→ an_enumerator‎</syntaxhighlight>
 
==القيمة المُعادة==
 
==القيمة المُعادة==
 +
يعيد التابع <code>each_byte</code> [[Ruby/IO|مجرى د/خ]] الذي استُدعي معه، وفي حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف <code>[[Ruby/Enumerator|Enumerator]]</code> 
 +
 
==أمثلة==
 
==أمثلة==
 
مثال على استخدام التابع <code>each_byte‎</code>:
 
مثال على استخدام التابع <code>each_byte‎</code>:
سطر 17: سطر 21:
 
checksum                          #=> 12‎</syntaxhighlight>
 
checksum                          #=> 12‎</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/IO/each|each]]</code>: ينفذ  الكتلة المعطاة لكل سطر في [[Ruby/IO|مجرى د/خ]] <code>ios</code>، حيث تُفصل الأسطر بواسطة <code>sep</code>. يجب أن يكون [[Ruby/IO|مجرى د/خ]] <code>ios</code> مفتوحا في وضعية القراءة، أو سيُطلق الاستثناء <code>IOError</code>.
+
* التابع <code>[[Ruby/IO/each|each]]</code>: ينفذ  الكتلة المعطاة لكل سطر في [[Ruby/IO|مجرى د/خ]]  
* التابع <code>[[Ruby/IO/each_char|each_char]]</code>: يستدعي  الكتلة المعطاةة مرة لكل حرف في [[Ruby/IO|مجرى د/خ]] <code>ios</code>، مع تمرير الحرف كوسيط. يجب أن يكون المجرى مفتوحًا في وضعية القراءة أو سيُرفع استثناء <code>IOError</code>.
+
* التابع <code>[[Ruby/IO/each_char|each_char]]</code>: يستدعي  الكتلة المعطاةة على كل حرف في [[Ruby/IO|مجرى د/خ]]  
 
==مصادر==
 
==مصادر==
 
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-each_byte قسم  التابع each_byte‎ في الصنف IO‎ في توثيق روبي الرسمي.]
 
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-each_byte قسم  التابع each_byte‎ في الصنف IO‎ في توثيق روبي الرسمي.]

مراجعة 12:41، 13 نوفمبر 2018

يستدعي التابع each_byte الكتلة المعطاة على لكل بايت (0..255) في مجرى د/خ، مع تمرير البايت كوسيط.

يجب أن يكون المجرى مفتوحًا في وضعية القراءة أو سيُرفع استثناء IOError.

في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف Enumerator بدلاً من ذلك.

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

each_byte {|byte| block }   ios
each_byte an_enumerator

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

يعيد التابع each_byte مجرى د/خ الذي استُدعي معه، وفي حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف Enumerator 

أمثلة

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

f = File.new("testfile")
checksum = 0
f.each_byte {|x| checksum ^= x }   #=> #<File:testfile>
checksum                           #=> 12‎

انظر أيضا

مصادر