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

انظر أيضا

  • التابع readlines: يقرأ التابع readlines كامل الملف المحدد سطرًا سطرًا، ويعيد تلك السطور في مصفوفة.

مصادر