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

من موسوعة حسوب

يفتح التابع write الملف، ويتموضع (seeks) اختياريا عند الإزاحة المعطاة offset (انظر فقرة البنية العامة)، ثم يكتب السلسلة النصية المعطاة string، ثم يعيد طول السلسلة النصية المكتوبة.

يضمن التابع write أن يُغلق الملف قبل العودة.

إذا لم يتم إعطاء offset في وضع الكتابة (write mode)، فسيتم اقتطاع الملف. خلاف ذلك، لن يُقتطع.

إن كان الوسيط الأخيرة عبارة عن قاموس، فسيحدد الخيارات الداخلية للدالة open()‎. حيث يقبل المفاتيح التالية:

  • :encoding - سلسلة نصية أو ترميز: يحدد ترميز السلسلة النصية المقروءة. انظر صفحة Encoding.aliases للتعرف على الترميزات الممكنة.
  • ‎:mode - سلسلة نصية أو عدد صحيح: يحدد الوسيط mode لأجل استخدامه مع الدالة open()‎. يجب أن يبدأ بـ "w" أو "a" أو "r+‎" وإلا سيتسبب في حدوث خطأ. انظر صفحة new لمزيد من الأوضاع الممكنة.
  • ‎:perm - عدد صحيح: يحدد الوسيط perm لأجل استخدامه مع الدالة open()‎.
  • ‎:open_args - مصفوفة: يحدد الوسائط الممررة إلى open()‎ على هيئة مصفوفة. لا يمكن استخدام هذا المفتاح مع مفاتيح أخرى.

البنية العامة

write(name, string [, offset])   integer
write(name, string [, offset] [, opt]) integer

المعاملات

name‎

اسم الملف

string‎

سلسلة نصية

offset‎

عدد صحيح يمثل الإزاحة

opt‎

خيارات

القيمة المُعادة

يعاد طول السلسلة النصية المكتوبة.

أمثلة

مثال على استخدام التابع write‎:

IO.write("testfile", "0123456789", 20)  #=> 10
# File could contain:  "This is line one\nThi0123456789two\nThis is line three\nAnd so on...\n"
IO.write("testfile", "0123456789")      #=> 10
# File would now read: "0123456789"‎

أنظر أيضا

  • التابع ‎<<‎: مجرى الإخراج النصي - يكتب كائنا في المجرى.

مصادر