الفرق بين المراجعتين لصفحة: «Ruby/Encoding/Converter/last error»
أنشأ الصفحة ب'{{DISPLAYTITLE:التابع <code>Encoding::Converter.last_error</code> في روبي}} يُعيد التّابع <code>last_error</code> الكائن <code>exception</c...' |
طلا ملخص تعديل |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 2: | سطر 2: | ||
يُعيد التّابع <code>last_error</code> الكائن <code>exception</code> عند حصول خطأٍ في آخر عملية تحويل أو يعيد القيمة <code>nil</code> إن لم يحصل أي خطأ. | يُعيد التّابع <code>last_error</code> الكائن <code>exception</code> عند حصول خطأٍ في آخر عملية تحويل أو يعيد القيمة <code>nil</code> إن لم يحصل أي خطأ. | ||
تشير القيمة "error" إلى | تشير القيمة "error" إلى أنَّ الخطأين <code>[[Ruby/Encoding/InvalidByteSequenceError|Encoding::InvalidByteSequenceError]]</code> و<code>[[Ruby/Encoding/UndefinedConversionError|Encoding::UndefinedConversionError]]</code> نتجا من التّابع <code>[[Ruby/Encoding/Converter/convert|convert]]</code>، وأنَّ <code>invalid_byte_sequence:</code> و<code>incomplete_input:</code> و <code>undefined_conversion:</code> نتجوا من التّابع <code>[[Ruby/Encoding/Converter/primitive convert|primitive_convert]]</code>. | ||
== البنية العامة == | == البنية العامة == | ||
سطر 15: | سطر 15: | ||
مثالٌ عن استخدام التابع <code>last_error</code>:<syntaxhighlight lang="ruby"> | مثالٌ عن استخدام التابع <code>last_error</code>:<syntaxhighlight lang="ruby"> | ||
ec = Encoding::Converter.new("utf-8", "iso-8859-1") | ec = Encoding::Converter.new("utf-8", "iso-8859-1") | ||
p ec.primitive_convert(src="\xf1abcd", dst="") #=> :invalid_byte_sequence | |||
p ec.primitive_convert(src="\xf1abcd", dst="") | p ec.last_error #=> #<Encoding::InvalidByteSequenceError: "\xF1" followed by "a" on UTF-8> | ||
p ec.primitive_convert(src, dst, nil, 1) #=> :destination_buffer_full | |||
p ec.last_error | p ec.last_error #=> nil | ||
p ec.primitive_convert(src, dst, nil, 1) | |||
p ec.last_error | |||
</syntaxhighlight> | </syntaxhighlight> | ||
سطر 36: | سطر 30: | ||
[[تصنيف:Ruby]] | [[تصنيف:Ruby]] | ||
[[تصنيف:Ruby Method]] | [[تصنيف:Ruby Method]] | ||
[[تصنيف:Ruby Encoding]] | |||
[[تصنيف:Ruby Encoding::Converter]] | [[تصنيف:Ruby Encoding::Converter]] |
المراجعة الحالية بتاريخ 10:42، 18 أكتوبر 2018
يُعيد التّابع last_error
الكائن exception
عند حصول خطأٍ في آخر عملية تحويل أو يعيد القيمة nil
إن لم يحصل أي خطأ.
تشير القيمة "error" إلى أنَّ الخطأين Encoding::InvalidByteSequenceError
وEncoding::UndefinedConversionError
نتجا من التّابع convert
، وأنَّ invalid_byte_sequence:
وincomplete_input:
و undefined_conversion:
نتجوا من التّابع primitive_convert
.
البنية العامة
last_error → exception or nil
القيم المعادة
يُعاد الكائن exception
عند حصول خطأٍ في آخر عملية تحويل، أو تعاد القيمة nil
إذا جرى التحويل الأخير من دون أخطاءٍ.
أمثلة
مثالٌ عن استخدام التابع last_error
:
ec = Encoding::Converter.new("utf-8", "iso-8859-1")
p ec.primitive_convert(src="\xf1abcd", dst="") #=> :invalid_byte_sequence
p ec.last_error #=> #<Encoding::InvalidByteSequenceError: "\xF1" followed by "a" on UTF-8>
p ec.primitive_convert(src, dst, nil, 1) #=> :destination_buffer_full
p ec.last_error #=> nil
انظر أيضًا
- التّابع
new
: يُنشئ كائنًا جديدًا من الصنفEncoding::Converter
. - التّابع
destination_encoding
: يُعيد التّرميز الوجهة على شكل كائنٍ من الصنفEncoding
. - التّابع
source_encoding
: يُعيد الترميز المصدر على شكل كائن من الصنفEncoding
.