التابع IO.read‎ في روبي

من موسوعة حسوب
< Ruby‏ | IO
مراجعة 16:56، 13 نوفمبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>IO.read‎</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method [[تصنيف: Ruby IO]...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

يفتح التابع 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.

مصادر