التابع ?Encoding::InvalidByteSequenceError.incomplete_input في روبي

من موسوعة حسوب

يتحقّق التّابع ?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

انظر أيضًا

مصادر