الفرق بين المراجعتين لصفحة: «Ruby/Encoding/Converter/putback»
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
طلا ملخص تعديل |
||
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
{{DISPLAYTITLE:التابع <code>Encoding::Converter.putback</code> في روبي}} | {{DISPLAYTITLE:التابع <code>Encoding::Converter.putback</code> في روبي}} | ||
يُعيد التّابع <code>putback</code> البايتات التي ستُحوَّل. يمكن استدعاء هذا التابع بشكل متسلسل (call-seq).<syntaxhighlight lang="ruby"> | يُعيد التّابع <code>putback</code> البايتات التي ستُحوَّل. يمكن استدعاء هذا التابع بشكل متسلسل (call-seq).<syntaxhighlight lang="ruby"> | ||
ec.putback | ec.putback -> string | ||
ec.putback(max_numbytes) -> string | |||
ec.putback(max_numbytes) | |||
سطر 16: | سطر 15: | ||
مثالٌ عن استخدام التابع <code>putback</code>:<syntaxhighlight lang="ruby"> | مثالٌ عن استخدام التابع <code>putback</code>:<syntaxhighlight lang="ruby"> | ||
ec = Encoding::Converter.new("utf-16le", "iso-8859-1") | ec = Encoding::Converter.new("utf-16le", "iso-8859-1") | ||
src = "\x00\xd8\x61\x00" | src = "\x00\xd8\x61\x00" | ||
dst = "" | dst = "" | ||
p ec.primitive_convert(src, dst) #=> :invalid_byte_sequence | |||
p ec.primitive_convert(src, dst) | p ec.primitive_errinfo #=> [:invalid_byte_sequence, "UTF-16LE", "UTF-8", "\x00\xD8", "a\x00"] | ||
p ec.putback #=> "a\x00" | |||
p ec.primitive_errinfo | p ec.putback #=> "" # لم يعد هنالك المزيد من البايتات لإعادتها | ||
p ec.putback | |||
p ec.putback | |||
</syntaxhighlight> | </syntaxhighlight> | ||
المراجعة الحالية بتاريخ 10:46، 18 أكتوبر 2018
يُعيد التّابع putback
البايتات التي ستُحوَّل. يمكن استدعاء هذا التابع بشكل متسلسل (call-seq).
ec.putback -> string
ec.putback(max_numbytes) -> string
تنتج البايتات من الخطأ invalid_byte_sequence
. عند حصول هذا الخطأ تهمل بعض البايتات ويخزَّن بعضها الآخر مؤقتًا بانتظار تحويلها لاحقًا. البايتات التي سيعيدها التابع هي الأخير (أي البايتات المخزنة). يمكن مراقبة وتتبع هذه الحالة باستخدام التّابع Encoding::InvalidByteSequenceError.readagain_bytes
والتّابع primitive_errinfo
.
البنية العامة
putback(p1 = v1)
أمثلة
مثالٌ عن استخدام التابع putback
:
ec = Encoding::Converter.new("utf-16le", "iso-8859-1")
src = "\x00\xd8\x61\x00"
dst = ""
p ec.primitive_convert(src, dst) #=> :invalid_byte_sequence
p ec.primitive_errinfo #=> [:invalid_byte_sequence, "UTF-16LE", "UTF-8", "\x00\xD8", "a\x00"]
p ec.putback #=> "a\x00"
p ec.putback #=> "" # لم يعد هنالك المزيد من البايتات لإعادتها
انظر أيضًا
- التّابع
replacement::
: يُعيد سلسلة الاستبدال النصية. - التّابع
replacement
: يضبط سلسلة الاستبدال النصية. - التّابع
inspect
: يُعيد نسخةً قابلةً للطباعة من كائن الصنفEncoding::Converter
. - التّابع
primitive_errinfo
: يُعيد معلوماتٍ مهمّةً حول آخر خطأٍ حدث في مصفوفة مكونة من خمسة عناصر.