الفرق بين المراجعتين لصفحة: «Ruby/Encoding/Converter/insert output»
طلا ملخص تعديل |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
{{DISPLAYTITLE:التابع <code>Encoding::Converter.insert_output</code> في روبي}} | {{DISPLAYTITLE:التابع <code>Encoding::Converter.insert_output</code> في روبي}} | ||
يضيف التّابع <code>insert_output</code> سلسلةً نصيّةً إلى محوِّل التّرميز، إذ سيُحول ترميز هذه السلسلة إلى ترميز الوجهة نفسه وتُوضع في نهاية مخرجات عملية التحويل. | يضيف التّابع <code>insert_output</code> سلسلةً نصيّةً إلى محوِّل التّرميز، إذ سيُحول ترميز هذه السلسلة إلى ترميز الوجهة نفسه وتُوضع في نهاية مخرجات عملية التحويل. | ||
مراجعة 10:16، 9 أكتوبر 2018
يضيف التّابع insert_output
سلسلةً نصيّةً إلى محوِّل التّرميز، إذ سيُحول ترميز هذه السلسلة إلى ترميز الوجهة نفسه وتُوضع في نهاية مخرجات عملية التحويل.
إذا كان التّرميز الوجهة هو من أحد الترميزات التي لها حالة (stateful encodings)، فستُحوَّل السلسلة حسب حالة الترميز وتُحدَّث الحالة بعدئذٍ.
لا يجب استخدام هذا التّابع إلا عند حدوث أخطاء في عملية التحويل.
البنية العامة
insert_output(string) → nil
المعاملات
string
السلسلة النصيّة المراد إدخالها في محوَّل الترميز.
القيم المعادة
أمثلة
مثالٌ عن استخدام التابع insert_output
:
ec = Encoding::Converter.new("utf-8", "iso-8859-1")
src = "HIRAGANA LETTER A is \u{3042}."
dst = ""
p ec.primitive_convert(src, dst) #=> :undefined_conversion
puts "[#{dst.dump}, #{src.dump}]" #=> ["HIRAGANA LETTER A is ", "."]
ec.insert_output("<err>")
p ec.primitive_convert(src, dst) #=> :finished
puts "[#{dst.dump}, #{src.dump}]" #=> ["HIRAGANA LETTER A is <err>.", ""]
ec = Encoding::Converter.new("utf-8", "iso-2022-jp")
src = "\u{306F 3041 3068 2661 3002}" # U+2661 is not representable in iso-2022-jp
dst = ""
p ec.primitive_convert(src, dst) #=> :undefined_conversion
puts "[#{dst.dump}, #{src.dump}]" #=> ["\e$B$O$!$H".force_encoding("ISO-2022-JP"), "\xE3\x80\x82"]
ec.insert_output "?" # state change required to output "?".
p ec.primitive_convert(src, dst) #=> :finished
puts "[#{dst.dump}, #{src.dump}]" #=> ["\e$B$O$!$H\e(B?\e$B!#\e(B".force_encoding("ISO-2022-JP"), ""]
انظر أيضًا
- التّابع
asciicompat_encoding
: يُعيد التّرميز المتوافق معASCII
المقابل للترميز المعطى. - التّابع
destination_encoding
: يُعيد التّرميز الوجهة على شكل كائنٍ من الصنفEncoding
. - التّابع
source_encoding
: يُعيد الترميز المصدر على شكل كائن من الصنفEncoding
. - التّابع
primitive_convert
: يحوّل ترميز جميع المحتويات المخزَّنة مؤقتًا (buffer) في مخزن معين أو مجال محدد منها ثم يضع الناتج في مخزَّن محدَّد. - التّابع
insert_output
: يضيف سلسلةً نصيّةً إلى محوِّل التّرميز، إذ سيحويل ترميز هذه السلسلة إلى ترميز الوجهة نفسه وتوضع في نهاية مخرجات عملية التحويل. - التّابع
finish
: يُنهي محوّل الترميز، ويُعيد الجزء الأخير من السلسلة النصيّة التي يحول ترميزها حينذاك.