الفرق بين المراجعتين لصفحة: «Ruby/Encoding/InvalidByteSequenceError/incomplete input-3F»
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
طلا ملخص تعديل |
||
سطر 15: | سطر 15: | ||
begin | begin | ||
ec.convert("abc\xA1z") | |||
rescue Encoding::InvalidByteSequenceError | rescue Encoding::InvalidByteSequenceError | ||
p $! #=> #<Encoding::InvalidByteSequenceError: "\xA1" followed by "z" on EUC-JP> | |||
p $!.incomplete_input? #=> false | |||
end | end | ||
begin | begin | ||
ec.convert("abc\xA1") | |||
ec.finish | |||
rescue Encoding::InvalidByteSequenceError | rescue Encoding::InvalidByteSequenceError | ||
p $! #=> #<Encoding::InvalidByteSequenceError: incomplete "\xA1" on EUC-JP> | |||
p $!.incomplete_input? #=> true | |||
end | end | ||
</syntaxhighlight> | </syntaxhighlight> |
المراجعة الحالية بتاريخ 18:59، 18 أكتوبر 2018
يتحقّق التّابع ?incomplete_input
فيما إذا كان خطأ تسلسل البايت (byte sequence error) الحاصل ناتجًا عن إنهاءٍ مُبكِّرٍ للسّلسلة النّصية.
البنية العامة
incomplete_input? → true or false
القيم المعادة
تُعاد القيمة true
إذا كان خطأ تسلسل البايت الحاصل ناتجًا عن إنهاءٍ مُبكِّرٍ للسّلسلة النّصية، أو تُعاد القيمة false
خلاف ذلك.
أمثلة
مثالٌ عن استخدام التّابع ?incomplete_input
:
ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1")
begin
ec.convert("abc\xA1z")
rescue Encoding::InvalidByteSequenceError
p $! #=> #<Encoding::InvalidByteSequenceError: "\xA1" followed by "z" on EUC-JP>
p $!.incomplete_input? #=> false
end
begin
ec.convert("abc\xA1")
ec.finish
rescue Encoding::InvalidByteSequenceError
p $! #=> #<Encoding::InvalidByteSequenceError: incomplete "\xA1" on EUC-JP>
p $!.incomplete_input? #=> true
end
انظر أيضًا
- التّابع
error_bytes
: يُعيد البايتات المرفوضة عندما يُرمى الاستثناءInvalidByteSequenceError
. - التّابع
readagain_bytes
: يعُيد البايتات المراد قراءتها مجدّدًا عندما يقع الخطأInvalidByteSequenceError
. - التّابع
source_encoding
: يعيد التّرميز المصدر.