التابع 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"