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

من موسوعة حسوب
< Ruby‏ | IO
لا ملخص تعديل
ط تدقيق
 
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby IO]]
[[تصنيف: Ruby IO]]
يستدعي التابع <code>each_byte</code> الكتلة المعطاة على لكل بايت (0..255) في [[Ruby/IO|مجرى د/خ]]، مع تمرير البايت كوسيط.  
يستدعي التابع <code>each_byte</code> الكتلة المعطاة على كل بايت (0..255) في [[Ruby/IO|المجرى]] الذي استدعي معه.  


يجب أن يكون المجرى مفتوحًا في وضعية القراءة أو سيُرفع استثناء <code>IOError</code>.
يجب أن يكون [[Ruby/IO|المجرى]] مفتوحًا في وضعية القراءة، وإلا سيُطلق الاستثناء <code>[[Ruby/IOError|IOError]]</code>.


في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف [[Ruby/Enumerator|Enumerator]] بدلاً من ذلك.
في حال لم تُعطَ أية كتلة، فسيُعاد كائن من الصنف <code>[[Ruby/Enumerator|Enumerator]]</code> بدلًا من ذلك.
==البنية العامة==
==البنية العامة==
<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> 
يعاد [[Ruby/IO|المجرى]] المعطى بعد تنفيذ الكتلة <code>block</code> على كل بايت من بايتاته، أو يعاد كائن من الصنف <code>[[Ruby/Enumerator|Enumerator]]</code> في حال لم تُعطَ أية كتلة.
 
==أمثلة==
==أمثلة==
مثال على استخدام التابع <code>each_byte‎</code>:
مثال على استخدام التابع <code>each_byte‎</code>:
سطر 20: سطر 19:
f.each_byte {|x| checksum ^= x }  #=> #<File:testfile>
f.each_byte {|x| checksum ^= x }  #=> #<File:testfile>
checksum                          #=> 12‎</syntaxhighlight>
checksum                          #=> 12‎</syntaxhighlight>
==انظر أيضا==
==انظر أيضًا==
* التابع <code>[[Ruby/IO/each|each]]</code>: ينفذ الكتلة المعطاة لكل سطر في [[Ruby/IO|مجرى د/خ]]  
* التابع <code>[[Ruby/IO/each|each]]</code>: ينفذ الكتلة المعطاة على كل سطر في [[Ruby/IO|المجرى]] الذي استُدعي معه.
* التابع <code>[[Ruby/IO/each_char|each_char]]</code>: يستدعي الكتلة المعطاةة على كل حرف في [[Ruby/IO|مجرى د/خ]]  
*التابع <code>[[Ruby/IO/each char|each_char]]</code>: يستدعي الكتلة المعطاة على كل محرف في [[Ruby/IO|المجرى]] الذي استدعي معه.
*التابع <code>[[Ruby/IO/each codepoint|each_codepoint]]</code>: يمرر كل عدد من الأعداد الترتيبية (Integer ordinal) لكل محرف من المحارف الموجودة في [[Ruby/IO|المجرى]] الذي استدعي معه إلى الكتلة المعطاة.
*التابع [[Ruby/IO/each line|<code>each_line</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‎ في توثيق روبي الرسمي.]

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

يستدعي التابع each_byte الكتلة المعطاة على كل بايت (0..255) في المجرى الذي استدعي معه.

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

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

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

each_byte {|byte| block }   ios
each_byte an_enumerator

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

يعاد المجرى المعطى بعد تنفيذ الكتلة block على كل بايت من بايتاته، أو يعاد كائن من الصنف Enumerator في حال لم تُعطَ أية كتلة.

أمثلة

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

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

انظر أيضًا

  • التابع each: ينفذ الكتلة المعطاة على كل سطر في المجرى الذي استُدعي معه.
  • التابع each_char: يستدعي الكتلة المعطاة على كل محرف في المجرى الذي استدعي معه.
  • التابع each_codepoint: يمرر كل عدد من الأعداد الترتيبية (Integer ordinal) لكل محرف من المحارف الموجودة في المجرى الذي استدعي معه إلى الكتلة المعطاة.
  • التابع each_line: ينفذ الكتلة المعطاة على كل سطر في المجرى الذي استدعي معه.

مصادر