التابع IO.write
في روبي
يفتح التابع write
ملفًا محدَّدًا ويكتب فيه السلسلة النصية المُمرَّرة إليه ثم يغلقه ويعيد عدد البايتات التي كتبها. يضمن التابع write
أن يُغلق الملف قبل إعادة أية قيمة.
إن كان المعامل الأخير عبارة عن جدول Hash، فسيحدد الخيارات الداخلية للتابع open()
.
البنية العامة
write(name, string [, offset]) → integer
write(name, string [, offset] [, opt])→ integer
المعاملات
name
اسم الملف المراد كتابة السلسلة النصية string
فيه.
string
سلسلة نصية يراد كتابتها ضمن الملف.
offset
عدد صحيح يمثل إزاحة موضع المؤشر في الملف إلى المكان الذي يراد كتابة البيانات فيه. إذا لم يتم إعطاء هذا المعامل في وضع الكتابة (write mode)، فسيتم اقتطاع الملف. خلاف ذلك، لن يُقتطَع.
opt
كائن من النوع Hash
يقبل المفاتيح التالية:
-
:encoding
- سلسلة نصية أو ترميز يحدد ترميز السلسلة النصيةstring
المقروءة. انظر صفحةEncoding.aliases
للتعرف على الترميزات الممكنة. :mode
- سلسلة نصية أو عدد صحيح يحددالمعاملmode
لأجل استخدامه مع الدالةopen()
. يجب أن يبدأ بالوضع "w
" أو "a
" أو "r+
" وإلا سيتسبب في حدوث خطأ. انظر صفحةnew
لمزيد من الأوضاع الممكنة.:perm
- عدد صحيح يحدد الوسيطperm
لأجل استخدامه مع التابعopen()
.:open_args
- مصفوفة تحدد الوسائط الممررة إلىopen()
. لا يمكن استخدام هذا المفتاح مع المفاتيح السابقة.
القيمة المعادة
يعاد طول السلسلة النصية المكتوبة.
أمثلة
مثال على استخدام التابع 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"
انظر أيضًا
- التابع
read
: يقرأ ملفًا محددًا بعد فتحه ثم يغلقه قبل إعادة الناتج. - التابع
readlines
: يقرأ ملفًا بأكمله سطرًا سطرًا ثم يعيد تلك الأسطر في مصفوفة.