الفرق بين المراجعتين ل"Ruby/ARGF/set encoding"

من موسوعة حسوب
< Ruby‏ | ARGF
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>ARGF.set_encoding</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby...')
 
ط (مراجعة وتدقيق.)
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby ARGF]]
 
[[تصنيف: Ruby ARGF]]
يضبط التابع <code>set_encoding</code> الترميز الداخلي والخارجي المستعمل مع السلاسل النصية المقروءة من المجرى [[Ruby/ARGF/ARGF | <code>ARGF</code>]].
+
يضبط التابع <code>set_encoding</code> الترميز الداخلي والخارجي المستعمل مع السلاسل النصية المقروءة من المجرى <code>ARGF</code>.
 
==البنية العامة==
 
==البنية العامة==
<syntaxhighlight lang="ruby"> set_encoding(ext_enc) → ARGF
+
<syntaxhighlight lang="ruby">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) → ARGF
 
set_encoding(ext_enc, int_enc) → ARGF
 
set_encoding("ext_enc:int_enc", opt) → ARGF
 
set_encoding("ext_enc:int_enc", opt) → ARGF
 
set_encoding(ext_enc, int_enc, opt) → ARGF
 
set_encoding(ext_enc, int_enc, opt) → ARGF
إن مرِّر المعامل ext_enc، فستُوسَم السلاسل النصية المقروءة من المجرى ARGF بهذا الترميز المعطى.
+
</syntaxhighlight>إن مرِّر المعامل <code>ext_enc</code>، فستُوسَم السلاسل النصية المقروءة من المجرى <code>ARGF</code> بهذا الترميز المعطى.
إن مرِّرت السلسلة النصية "ext_enc:int_enc" التي تمثِّل اسمي ترميزين مفصولين بنقطتين، مثل "ascii:utf-8"، فستُحوَّل السلسلة النصية المقروءة من الترميز الأول (الترميز الخارجي) إلى الترميز الثاني (الترميز الداخلي)، ثم تُوسَم بالترميز الثاني.
+
 
أمَّا إن مرِّر المعاملان ext_enc و int_enc، فيجب أن يكونا كائنات من النوع encoding أو أسماءٍ لترميزات. مرةً أخرى، يحدِّد الترميز الأول الترميز الخارجي، ويحدِّد الثاني الترميز الداخلي.
+
إن مرِّرت السلسلة النصية "<code>ext_enc:int_enc</code>" التي تمثِّل اسمي ترميزين مفصولين بنقطتين، مثل "<code>ascii:utf-8</code>"، فستُحوَّل السلسلة النصية المقروءة من الترميز الأول (الترميز الخارجي) إلى الترميز الثاني (الترميز الداخلي)، ثم تُوسَم بالترميز الثاني.
إذا حدِّد الترميز الخارجي والترميز الداخلي سويَّةً، فيمكن استخدام المعامل opt الاختياري لضبط عملية التحويل.
+
 
</syntaxhighlight>
+
أمَّا إن مرِّر المعاملان <code>ext_enc</code> و <code>int_enc</code>، فيجب أن يكونا كائنات من النوع <code>encoding</code> أو أسماءٍ لترميزات. مرةً أخرى، يحدِّد الترميز الأول الترميز الخارجي، ويحدِّد الثاني الترميز الداخلي.
 +
 
 +
إذا حدِّد الترميز الخارجي والترميز الداخلي سويَّةً، فيمكن استخدام المعامل <code>opt</code> الاختياري لضبط عملية التحويل.
 +
 
 
==المعاملات==
 
==المعاملات==
<code>ext_enc</code>
+
 
اسمٌ لترميز أو كائنٌ من النوع <code>encoding</code>. إن أعطي بمفرده، فستُوسَم السلاسل النصية المقروءة من المجرى [[Ruby/ARGF/ARGF | <code>ARGF</code>]] بهذا الترميز المعطى. أما إن أعطي مع المعامل <code>int_enc</code>، فيحدِّد هذا المعامل الترميز الخارجي، ويحدِّد المعامل <code>int_enc</code> الترميز الداخلي.
+
=== <code>ext_enc</code> ===
<code>int_enc</code>
+
اسمٌ لترميز أو كائنٌ من النوع <code>encoding</code>. إن أعطي بمفرده، فستُوسَم السلاسل النصية المقروءة من المجرى <code>ARGF</code> بهذا الترميز المعطى. أما إن أعطي مع المعامل <code>int_enc</code>، فيحدِّد هذا المعامل الترميز الخارجي، ويحدِّد المعامل <code>int_enc</code> الترميز الداخلي.
 +
 
 +
=== <code>int_enc</code> ===
 
اسمٌ لترميز أو كائنٌ من النوع <code>encoding</code>، إذ يحدِّد الترميز الداخلي المراد استعماله.
 
اسمٌ لترميز أو كائنٌ من النوع <code>encoding</code>، إذ يحدِّد الترميز الداخلي المراد استعماله.
<code>ext_enc</code>:<code>int_enc</code>
+
 
 +
=== <code>ext_enc</code>:<code>int_enc</code> ===
 
سلسلةٌ نصيةٌ تمثِّل اسمي ترميزين مفصولين بنقطتين، إذ يستعمل هذا المعامل لتحويل السلسلة النصية المقروءة من الترميز الأول (الترميز الخارجي) إلى الترميز الثاني (الترميز الداخلي).
 
سلسلةٌ نصيةٌ تمثِّل اسمي ترميزين مفصولين بنقطتين، إذ يستعمل هذا المعامل لتحويل السلسلة النصية المقروءة من الترميز الأول (الترميز الخارجي) إلى الترميز الثاني (الترميز الداخلي).
<code>opt</code>
+
 
ارجع إلى صفحة التابع <code>String</code>.<code>encode</code> للاطلاع على الخيارات التي يمكن استعمالها مع هذا المعامل.
+
=== <code>opt</code> ===
 +
ارجع إلى صفحة التابع <code>[[Ruby/String/encode|String.encode]]</code> للاطلاع على الخيارات التي يمكن استعمالها مع هذا المعامل.
 
==القيم المعادة==
 
==القيم المعادة==
يعاد المجرى [[Ruby/ARGF/ARGF | <code>ARGF</code>]].[<code>a</code>]
+
يعاد المجرى <code>ARGF</code>
 
==أمثلة==
 
==أمثلة==
 
مثالٌ على استخدام التابع <code>set_encoding</code>:
 
مثالٌ على استخدام التابع <code>set_encoding</code>:
<syntaxhighlight lang="ruby"> ARGF.set_encoding('ascii')        # Tag the input as US-ASCII text
+
<syntaxhighlight lang="ruby">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(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.
 
ARGF.set_encoding('utf-8','ascii') # Transcode the input from US-ASCII to UTF-8.
سطر 34: سطر 41:
 
  </syntaxhighlight>
 
  </syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
* التابع [[Ruby/ARGF/internal_encoding | <code>internal_encoding</code>]]: يعيد الترميز الداخلي (<code>internal</code> <code>encoding</code>) للسلاسل النصية المقروءة من المجرى [[Ruby/ARGF/ARGF | <code>ARGF</code>]] على شكل كائن من النوع <code>Encoding</code>.
+
* التابع<nowiki/>[[Ruby/ARGF/internal_encoding | <code>internal_encoding</code>]]: يعيد الترميز الداخلي (internal encoding) للسلاسل النصية المقروءة من المجرى <code>ARGF</code> على شكل كائن من النوع <code>Encoding</code>.
* التابع [[Ruby/ARGF/external_encoding | <code>external_encoding</code>]]: يعيد الترميز الخارجي (<code>external</code> <code>encoding</code>) للملفات المقروءة من [[Ruby/ARGF/ARGF | <code>ARGF</code>]] على شكل كائن من النوع <code>Encoding</code>.
+
* التابع<nowiki/>[[Ruby/ARGF/external_encoding | <code>external_encoding</code>]]: يعيد الترميز الخارجي (external encoding) للملفات المقروءة من <code>ARGF</code> على شكل كائن من النوع <code>Encoding</code>.
 
==مصادر==
 
==مصادر==
* قسم التابع set_encoding في الصنف ARGF في توثيق روبي الرسمي.
+
* [http://ruby-doc.org/core-2.5.1/ARGF.html#method-i-set_encoding قسم التابع set_encoding في الصنف ARGF في توثيق روبي الرسمي.]
[a]لم أفهم ذلك. أليس من المفروض لتوابع الضبط والتعيين ألا تعيد شيئًا؟
 

المراجعة الحالية بتاريخ 13:50، 3 أكتوبر 2018

يضبط التابع 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

أمثلة

مثالٌ على استخدام التابع 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.

مصادر