الفرق بين المراجعتين لصفحة: «Ruby/IO/read»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>read</code> الخاص بالصنف <code>IO</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ru...' |
لا ملخص تعديل |
||
| سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby IO]] | [[تصنيف: Ruby IO]] | ||
يفتح التابع <code>read</code> | يفتح التابع <code>read</code> الملف المحدد، ثم يتموضع اختياريا عند موضع الإزاحة المعطى <code>offset</code> (انظر فقرة البنية العامة)، ثم يُعيد <code>length</code> بايت (قيمته الافتراضية تساوي طول بقية الملف). يضمن التابع <code>read</code> أن يُغلق الملف قبل العودة. | ||
إن كان <code>name</code> يبدأ بمحرف التوجيه (<code>"|"</code>)، | إن كان <code>name</code> يبدأ بمحرف التوجيه (<code>"|"</code>)، فستُنشؤ عملية فرعية (subprocess) بطريقة مشابهة للتابع <code>[[Ruby/Kernel/open|Kernel#open]]</code>، ثم ستعاد مُخرجاتها. | ||
خيارات | == خيارات == | ||
يقبل [[Ruby/Hash|قاموس]] الخيارات <code>opt</code> المفاتيح التالية: | |||
* <code>encoding</code>: - '''[[Ruby/String|سلسلة نصية]] أو ترميز -''' يحدد ترميز َ<nowiki/>[[Ruby/String|السلسلة النصية]] المقروءة. سيتم تجاهل <code>:encoding</code> إذا تم تمرير الوسيط <code>length</code>. انظر صفحة <code>[[Ruby/Encoding/aliases|Encoding.aliases]]</code> للتعرف على الترميزات الممكنة. | |||
* <code>mode:</code> - [[Ruby/String|سلسلة نصية]] أو عدد صحيح - يحدد الوسيط <code>mode</code> لأجل استخدامه من قبل اادالة <code>open()</code>. ينبغي أن يبدأ بالحرف "<code>r</code>"، وإلا سيتسبب في حدوث خطأ. انظر صفحة <code>[[Ruby/IO/new|new]]</code> للحصول على قائمة من الأوضاع الممكنة. | |||
* <code>:open_args</code> - [[Ruby/Array|مصفوفة]] - يحدد الوسائط الممررة إلى <code>open()</code> على هيئة [[Ruby/Array|مصفوفة]]. لا يمكن استخدام هذا المفتاح مع <code>:encoding</code> أو <code>:mode</code>. | |||
[[Ruby/String|سلسلة نصية]] أو ترميز | |||
يحدد ترميز [[Ruby/String|السلسلة النصية]] المقروءة. سيتم تجاهل <code>:encoding</code> إذا تم | |||
: | |||
[[Ruby/String|سلسلة نصية]] أو عدد صحيح | |||
يحدد الوسيط <code>mode</code> لأجل | |||
:open_args | |||
[[Ruby/Array|مصفوفة]] | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">read(name, [length [, offset]] [, opt] )→ string</syntaxhighlight> | <syntaxhighlight lang="ruby">read(name, [length [, offset]] [, opt] )→ string</syntaxhighlight> | ||
| سطر 43: | سطر 25: | ||
خيارات | خيارات | ||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
يُعيد التابع <code>read</code> سلسلة نصية. | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>read</code>: | مثال على استخدام التابع <code>read</code>: | ||
| سطر 50: | سطر 34: | ||
IO.read("binfile", mode: "rb") #=> "\xF7\x00\x00\x0E\x12"</syntaxhighlight> | IO.read("binfile", mode: "rb") #=> "\xF7\x00\x00\x0E\x12"</syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/IO/readlines|readlines]]</code>: يقرأ التابع <code>readlines</code> كامل الملف المحدد سطرًا سطرًا، ويعيد تلك السطور في [[Ruby/Array|مصفوفة]]. | |||
* التابع <code>[[Ruby/IO/readlines|readlines]]</code>: يقرأ التابع <code>readlines</code> كامل الملف المحدد | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/IO.html#method-c-read قسم التابع read في الصنف IO في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/IO.html#method-c-read قسم التابع read في الصنف IO في توثيق روبي الرسمي.] | ||
مراجعة 23:37، 12 نوفمبر 2018
يفتح التابع read الملف المحدد، ثم يتموضع اختياريا عند موضع الإزاحة المعطى offset (انظر فقرة البنية العامة)، ثم يُعيد length بايت (قيمته الافتراضية تساوي طول بقية الملف). يضمن التابع read أن يُغلق الملف قبل العودة.
إن كان name يبدأ بمحرف التوجيه ("|")، فستُنشؤ عملية فرعية (subprocess) بطريقة مشابهة للتابع Kernel#open، ثم ستعاد مُخرجاتها.
خيارات
يقبل قاموس الخيارات opt المفاتيح التالية:
encoding: - سلسلة نصية أو ترميز - يحدد ترميز َالسلسلة النصية المقروءة. سيتم تجاهل :encodingإذا تم تمرير الوسيطlength. انظر صفحةEncoding.aliasesللتعرف على الترميزات الممكنة.mode:- سلسلة نصية أو عدد صحيح - يحدد الوسيطmodeلأجل استخدامه من قبل اادالةopen(). ينبغي أن يبدأ بالحرف "r"، وإلا سيتسبب في حدوث خطأ. انظر صفحةnewللحصول على قائمة من الأوضاع الممكنة.:open_args- مصفوفة - يحدد الوسائط الممررة إلىopen()على هيئة مصفوفة. لا يمكن استخدام هذا المفتاح مع :encodingأو :mode.
البنية العامة
read(name, [length [, offset]] [, opt] )→ string
المعاملات
name
اسم الملف
length
عدد صحيح يمثل الطول
offset
عدد صحيح يمثل الإزاحة
opt
خيارات
القيمة المُعادة
يُعيد التابع read سلسلة نصية.
أمثلة
مثال على استخدام التابع read:
IO.read("testfile") #=> "This is line one\nThis is line two\nThis is line three\nAnd so on...\n"
IO.read("testfile", 20) #=> "This is line one\nThi"
IO.read("testfile", 20, 10) #=> "ne one\nThis is line "
IO.read("binfile", mode: "rb") #=> "\xF7\x00\x00\x0E\x12"