الفرق بين المراجعتين لصفحة: «Ruby/IO/read»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code>read | <noinclude>{{DISPLAYTITLE: التابع <code>IO.read</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby IO]] | [[تصنيف: Ruby IO]] | ||
يقرأ التابع <code>read</code> ملفًا محددًا بعد فتحه ثم يغلقه قبل إعادة الناتج. | |||
==البنية العامة== | ==البنية العامة== | ||
سطر 17: | سطر 10: | ||
==المعاملات== | ==المعاملات== | ||
===<code>name</code>=== | ===<code>name</code>=== | ||
اسم الملف | اسم الملف المراد القراءة منه. إن كان <code>name</code> يبدأ بمحرف الأنبوب (<code>"|"</code>)، فستُنشَأ عملية فرعية (subprocess) بطريقة مشابهة للتابع <code>[[Ruby/Kernel/open|Kernel.open]]</code>، ثم ستعاد مُخرجاتها. | ||
===<code>length</code>=== | ===<code>length</code>=== | ||
عدد صحيح يمثل | عدد صحيح يمثل عدد البايتات المراد قراءتها من الملف. القيمة الافتراضية لهذا المعامل هي القراءة حتى نهاية الملف. | ||
===<code>offset</code>=== | ===<code>offset</code>=== | ||
عدد صحيح يمثل | عدد صحيح يمثل إزاحة موضع المؤشر في الملف إلى المكان الذي يراد بدء القراءة منه. | ||
===<code>opt</code>=== | ===<code>opt</code>=== | ||
كائن من النوع <code>[[Ruby/Hash|Hash]]</code> يقبل المفاتيح التالية: | |||
==القيمة | * <code>encoding:</code> - [[Ruby/String|سلسلة نصية]] أو [[Ruby/Encoding|ترميز]] يحدد ترميز [[Ruby/String|السلسلة النصية]] المقروءة من الملف. سيتم تجاهل <code>:encoding</code> إذا تم تمرير المعامل <code>length</code>. انظر صفحة التابع <code>[[Ruby/Encoding/aliases|Encoding.aliases]]</code> للتعرف على الترميزات الممكنة. | ||
* <code>mode:</code> - [[Ruby/String|سلسلة نصية]] أو [[Ruby/Integer|عدد صحيح]] يحدد المعامل <code>mode</code> (وضع الفتح) لأجل استخدامه من قبل الدالة <code>[[Ruby/IO/open|open()]]</code> عند فتح الملف المراد قراءته. ينبغي أن يبدأ بالوضع "<code>r</code>" (وضع القراءة)، وإلا سيتسبب في حدوث خطأ. انظر صفحة <code>[[Ruby/IO/new|new]]</code> للحصول على قائمة من الأوضاع الممكنة. | |||
* <code>:open_args</code> - [[Ruby/Array|مصفوفة]] تحدد الوسائط الممررة إلى التابع <code>[[Ruby/IO/open|open()]]</code> على هيئة [[Ruby/Array|مصفوفة]]. لا يمكن استخدام هذا المفتاح جنبًا إلى جنب مع المفتاحين <code>:encoding</code> أو <code>:mode</code>. | |||
==القيمة المعادة== | |||
تعاد سلسلة نصية تحوي البيانات التي قُرأَت من الملف ذي الاسم <code>name</code>. | |||
==أمثلة== | ==أمثلة== | ||
سطر 33: | سطر 29: | ||
IO.read("testfile", 20, 10) #=> "ne one\nThis is line " | IO.read("testfile", 20, 10) #=> "ne one\nThis is line " | ||
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>[[Ruby/IO/readlines|readlines]]</code>: يقرأ ملفًا بأكمله سطرًا سطرًا ثم يعيد تلك الأسطر في [[Ruby/Array|مصفوفة]]. | ||
* التابع [[Ruby/IO/write|<code>write</code>]]: يفتح ملفًا محدَّدًا ويكتب فيه السلسلة النصية المُمرَّرة إليه ثم يغلقه ويعيد عدد البايتات التي كتبها. | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/IO.html#method-c-read قسم | *[http://ruby-doc.org/core-2.5.1/IO.html#method-c-read قسم التابع read في الصنف IO في توثيق روبي الرسمي.] |
مراجعة 07:08، 22 ديسمبر 2018
يقرأ التابع read
ملفًا محددًا بعد فتحه ثم يغلقه قبل إعادة الناتج.
البنية العامة
read(name, [length [, offset]] [, opt] )→ string
المعاملات
name
اسم الملف المراد القراءة منه. إن كان name
يبدأ بمحرف الأنبوب ("|"
)، فستُنشَأ عملية فرعية (subprocess) بطريقة مشابهة للتابع Kernel.open
، ثم ستعاد مُخرجاتها.
length
عدد صحيح يمثل عدد البايتات المراد قراءتها من الملف. القيمة الافتراضية لهذا المعامل هي القراءة حتى نهاية الملف.
offset
عدد صحيح يمثل إزاحة موضع المؤشر في الملف إلى المكان الذي يراد بدء القراءة منه.
opt
كائن من النوع Hash
يقبل المفاتيح التالية:
encoding:
- سلسلة نصية أو ترميز يحدد ترميز السلسلة النصية المقروءة من الملف. سيتم تجاهل :encoding
إذا تم تمرير المعاملlength
. انظر صفحة التابعEncoding.aliases
للتعرف على الترميزات الممكنة.mode:
- سلسلة نصية أو عدد صحيح يحدد المعاملmode
(وضع الفتح) لأجل استخدامه من قبل الدالةopen()
عند فتح الملف المراد قراءته. ينبغي أن يبدأ بالوضع "r
" (وضع القراءة)، وإلا سيتسبب في حدوث خطأ. انظر صفحةnew
للحصول على قائمة من الأوضاع الممكنة.:open_args
- مصفوفة تحدد الوسائط الممررة إلى التابعopen()
على هيئة مصفوفة. لا يمكن استخدام هذا المفتاح جنبًا إلى جنب مع المفتاحين :encoding
أو :mode
.
القيمة المعادة
تعاد سلسلة نصية تحوي البيانات التي قُرأَت من الملف ذي الاسم name
.
أمثلة
مثال على استخدام التابع 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"
انظر أيضًا
- التابع
readlines
: يقرأ ملفًا بأكمله سطرًا سطرًا ثم يعيد تلك الأسطر في مصفوفة. - التابع
write
: يفتح ملفًا محدَّدًا ويكتب فيه السلسلة النصية المُمرَّرة إليه ثم يغلقه ويعيد عدد البايتات التي كتبها.