التابع ARGF.set_encoding في روبي

من موسوعة حسوب
< Ruby‏ | ARGF
مراجعة 18:32، 10 سبتمبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>ARGF.set_encoding</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يضبط التابع set_encoding الترميز الداخلي والخارجي المستعمل مع السلاسل النصية المقروءة من المجرى ARGF.

البنية العامة

 set_encoding(ext_enc)  ARGF
set_encoding("ext_enc:int_enc")  ARGF
set_encoding(ext_enc, int_enc)  ARGF
set_encoding("ext_enc:int_enc", opt)  ARGF
set_encoding(ext_enc, int_enc, opt)  ARGF
إن مرِّر المعامل ext_enc، فستُوسَم السلاسل النصية المقروءة من المجرى ARGF بهذا الترميز المعطى.
إن مرِّرت السلسلة النصية "ext_enc:int_enc" التي تمثِّل اسمي ترميزين مفصولين بنقطتين، مثل "ascii:utf-8"، فستُحوَّل السلسلة النصية المقروءة من الترميز الأول (الترميز الخارجي) إلى الترميز الثاني (الترميز الداخلي)، ثم تُوسَم بالترميز الثاني.
أمَّا إن مرِّر المعاملان ext_enc و int_enc، فيجب أن يكونا كائنات من النوع encoding أو أسماءٍ لترميزات. مرةً أخرى، يحدِّد الترميز الأول الترميز الخارجي، ويحدِّد الثاني الترميز الداخلي.
إذا حدِّد الترميز الخارجي والترميز الداخلي سويَّةً، فيمكن استخدام المعامل opt الاختياري لضبط عملية التحويل.

المعاملات

ext_enc اسمٌ لترميز أو كائنٌ من النوع encoding. إن أعطي بمفرده، فستُوسَم السلاسل النصية المقروءة من المجرى ARGF بهذا الترميز المعطى. أما إن أعطي مع المعامل int_enc، فيحدِّد هذا المعامل الترميز الخارجي، ويحدِّد المعامل int_enc الترميز الداخلي. int_enc اسمٌ لترميز أو كائنٌ من النوع encoding، إذ يحدِّد الترميز الداخلي المراد استعماله. ext_enc:int_enc سلسلةٌ نصيةٌ تمثِّل اسمي ترميزين مفصولين بنقطتين، إذ يستعمل هذا المعامل لتحويل السلسلة النصية المقروءة من الترميز الأول (الترميز الخارجي) إلى الترميز الثاني (الترميز الداخلي). opt ارجع إلى صفحة التابع String.encode للاطلاع على الخيارات التي يمكن استعمالها مع هذا المعامل.

القيم المعادة

يعاد المجرى ARGF.[a]

أمثلة

مثالٌ على استخدام التابع set_encoding:

 ARGF.set_encoding('ascii')         # Tag the input as US-ASCII text
ARGF.set_encoding(Encoding::UTF_8) # Tag the input as UTF-8 text
ARGF.set_encoding('utf-8','ascii') # Transcode the input from US-ASCII to UTF-8.

انظر أيضًا

  • التابع internal_encoding: يعيد الترميز الداخلي (internal encoding) للسلاسل النصية المقروءة من المجرى ARGF على شكل كائن من النوع Encoding.
  • التابع external_encoding: يعيد الترميز الخارجي (external encoding) للملفات المقروءة من ARGF على شكل كائن من النوع Encoding.

مصادر

  • قسم التابع set_encoding في الصنف ARGF في توثيق روبي الرسمي.

[a]لم أفهم ذلك. أليس من المفروض لتوابع الضبط والتعيين ألا تعيد شيئًا؟