الفرق بين المراجعتين لصفحة: «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"