الفرق بين المراجعتين ل"Ruby/Encoding/Converter/putback"

من موسوعة حسوب
< Ruby‏ | Encoding‏ | Converter
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'{{DISPLAYTITLE:التابع Encoding::Converter.putback في روبي}} يُعيد التّابع <code>putback</code> البايتات التي ستُحوَّل. يم...')
 
ط
 
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
{{DISPLAYTITLE:التابع Encoding::Converter.putback في روبي}}
+
{{DISPLAYTITLE:التابع <code>Encoding::Converter.putback</code> في روبي}}
 
 
 
يُعيد التّابع <code>putback</code> البايتات التي ستُحوَّل. يمكن استدعاء هذا التابع بشكل متسلسل (call-seq).<syntaxhighlight lang="ruby">
 
يُعيد التّابع <code>putback</code> البايتات التي ستُحوَّل. يمكن استدعاء هذا التابع بشكل متسلسل (call-seq).<syntaxhighlight lang="ruby">
ec.putback                    -> string
+
ec.putback                   -> string
 
+
ec.putback(max_numbytes)     -> string
ec.putback(max_numbytes)      -> string
 
  
  
سطر 10: سطر 8:
  
 
== البنية العامة ==
 
== البنية العامة ==
 +
<syntaxhighlight lang="ruby">
 
putback(p1 = v1)
 
putback(p1 = v1)
 +
</syntaxhighlight>
  
 
== أمثلة ==
 
== أمثلة ==
مثالٌ عن استخدام التابع putback:
+
مثالٌ عن استخدام التابع <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)   #=> :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.primitive_errinfo     #=> [:invalid_byte_sequence, "UTF-16LE", "UTF-8", "\x00\xD8", "a\x00"]
+
p ec.putback               #=> ""          # لم يعد هنالك المزيد من البايتات لإعادتها
 
+
</syntaxhighlight>
p ec.putback               #=> "a\x00"
 
 
 
p ec.putback               #=> ""          # لم يعد هنالك المزيد من البايتات لإعادتها
 
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* التّابع replacement::: يُعيد سلسلة الاستبدال النصية.
+
* التّابع <code>[[Ruby/Encoding/Converter/replacement|replacement::]]</code>: يُعيد سلسلة الاستبدال النصية.
* التّابع replacement: يضبط سلسلة الاستبدال النصية.
+
* التّابع <code>[[Ruby/Encoding/Converter/replacement-3D|replacement]]</code>: يضبط سلسلة الاستبدال النصية.
* التّابع inspect: يُعيد نسخةً قابلةً للطباعة من كائن الصنف Encoding::Converter.
+
* التّابع <code>[[Ruby/Encoding/Converter/inspect|inspect]]</code>: يُعيد نسخةً قابلةً للطباعة من كائن الصنف <code>[[Ruby/Encoding/Converter|Encoding::Converter]]</code>.
* التّابع primitive_errinfo: يُعيد معلوماتٍ مهمّةً حول آخر خطأٍ حدث في مصفوفة مكونة من خمسة عناصر.
+
* التّابع <code>[[Ruby/Encoding/Converter/primitive errinfo|primitive_errinfo]]</code>: يُعيد معلوماتٍ مهمّةً حول آخر خطأٍ حدث في مصفوفة مكونة من خمسة عناصر.
  
 
== مصادر ==
 
== مصادر ==
سطر 39: سطر 33:
 
[[تصنيف:Ruby]]
 
[[تصنيف:Ruby]]
 
[[تصنيف:Ruby Method]]
 
[[تصنيف:Ruby Method]]
 +
[[تصنيف:Ruby Encoding]]
 
[[تصنيف:Ruby Encoding::Converter]]
 
[[تصنيف:Ruby Encoding::Converter]]

المراجعة الحالية بتاريخ 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: يُعيد معلوماتٍ مهمّةً حول آخر خطأٍ حدث في مصفوفة مكونة من خمسة عناصر.

مصادر