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