التابع read
الخاص بالصنف IO
في روبي
يفتح التابع 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"