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

من موسوعة حسوب
< Ruby‏ | IO
مراجعة 07:19، 22 ديسمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يفتح التابع 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: يقرأ ملفًا بأكمله سطرًا سطرًا ثم يعيد تلك الأسطر في مصفوفة.

مصادر