الفرق بين المراجعتين لصفحة: «Ruby/IO/each byte»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط تدقيق |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby IO]] | [[تصنيف: Ruby IO]] | ||
يستدعي التابع <code>each_byte</code> الكتلة المعطاة على | يستدعي التابع <code>each_byte</code> الكتلة المعطاة على كل بايت (0..255) في [[Ruby/IO|المجرى]] الذي استدعي معه. | ||
يجب أن يكون المجرى مفتوحًا في وضعية | يجب أن يكون [[Ruby/IO|المجرى]] مفتوحًا في وضعية القراءة، وإلا سيُطلق الاستثناء <code>[[Ruby/IOError|IOError]]</code>. | ||
في حال لم | في حال لم تُعطَ أية كتلة، فسيُعاد كائن من الصنف <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> | ||
==القيمة | ==القيمة المعادة== | ||
يعاد [[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>: ينفذ | * التابع <code>[[Ruby/IO/each|each]]</code>: ينفذ الكتلة المعطاة على كل سطر في [[Ruby/IO|المجرى]] الذي استُدعي معه. | ||
* التابع <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 قسم | *[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
: ينفذ الكتلة المعطاة على كل سطر في المجرى الذي استدعي معه.