التابع IO.read
في روبي
يفتح التابع read
الملف، ثم يتموضع اختياريا في الموضع المعطى offset
(انظر فقرة البنية العامة)، ثم يُعيد length
بايت (تساوي قيمته الافتراضية طول بقية الملف). يضمن التابع read
أن يُغلق الملف قبل العودة.
إن كان name
يبدأ بمحرف التوجيه ("|"
)، يتم إنشاء عملية فرعية بطريقة مشابهة للتابع 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
:
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"
انظر أيضا
- التابع
popen
: ينفذ التعليمة المعطاة (انظر فقرة البنية العامة) على شكل عملية فرعي (subprocess)؛ سيتم توصيل المدخلات والمخرجات القياسية للعملية الفرعية إلى مجرى د/خ (IO
) المُعاد. - التابع
readlines
: يقرأ كامل الملف المحدد بواسطةname
(انظر فقرة البنية العامة) سطرًا سطرًا، ويعيد تلك السطور في مصفوفة. تُفصل السطو بواسطةsep
.