الفرق بين المراجعتين لصفحة: «Ruby/IO/write»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع IO.write في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby IO يفتح ال...' |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
(3 مراجعات متوسطة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع IO. | <noinclude>{{DISPLAYTITLE: التابع <code>IO.write</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby IO]] | [[تصنيف: Ruby IO]] | ||
يفتح التابع <code>write</code> | يفتح التابع <code>write</code> ملفًا محدَّدًا ويكتب فيه السلسلة النصية المُمرَّرة إليه ثم يغلقه ويعيد عدد البايتات التي كتبها. يضمن التابع <code>write</code> أن يُغلق الملف قبل إعادة أية قيمة. | ||
إن كان المعامل الأخير عبارة عن [[Ruby/Hash|جدول Hash]]، فسيحدد الخيارات الداخلية للتابع <code>[[Ruby/IO/open|open()]]</code>. | |||
إن | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">write(name, string [, offset]) → integer | <syntaxhighlight lang="ruby">write(name, string [, offset]) → integer | ||
سطر 37: | سطر 11: | ||
==المعاملات== | ==المعاملات== | ||
===<code>name</code>=== | ===<code>name</code>=== | ||
اسم الملف | اسم الملف المراد كتابة السلسلة النصية <code>string</code> فيه. | ||
===<code>string</code>=== | ===<code>string</code>=== | ||
[[Ruby/String|سلسلة نصية]] | [[Ruby/String|سلسلة نصية]] يراد كتابتها ضمن الملف. | ||
===<code>offset</code>=== | ===<code>offset</code>=== | ||
عدد صحيح يمثل | [[Ruby/Integer|عدد صحيح]] يمثل إزاحة موضع المؤشر في الملف إلى المكان الذي يراد كتابة البيانات فيه. إذا لم يتم إعطاء هذا المعامل في وضع الكتابة (write mode)، فسيتم اقتطاع الملف. خلاف ذلك، لن يُقتطَع. | ||
===<code>opt</code>=== | ===<code>opt</code>=== | ||
كائن من النوع <code>[[Ruby/Hash|Hash]]</code> يقبل المفاتيح التالية: | |||
==القيمة | * <code>:encoding</code> - [[Ruby/String|سلسلة نصية]] أو [[Ruby/Encoding|ترميز]] يحدد ترميز [[Ruby/String|السلسلة النصية]] <code>string</code> المقروءة. انظر صفحة <code>[[Ruby/Encoding/aliases|Encoding.aliases]]</code> للتعرف على الترميزات الممكنة. | ||
* <code>:mode</code> - [[Ruby/String|سلسلة نصية]] أو عدد صحيح يحددالمعامل <code>mode</code> لأجل استخدامه مع الدالة <code>[[Ruby/IO/open|open()]]</code>. يجب أن يبدأ بالوضع "<code>w</code>" أو "<code>a</code>" أو "<code>r+</code>" وإلا سيتسبب في حدوث خطأ. انظر صفحة <code>[[Ruby/IO/new|new]]</code> لمزيد من الأوضاع الممكنة. | |||
* <code>:perm</code> - [[Ruby/Integer|عدد صحيح]] يحدد الوسيط <code>perm</code> لأجل استخدامه مع التابع <code>[[Ruby/IO/open|open()]]</code>. | |||
* <code>:open_args</code> - [[Ruby/Array|مصفوفة]] تحدد الوسائط الممررة إلى [[Ruby/IO/open|<code>open()</code>]]. لا يمكن استخدام هذا المفتاح مع المفاتيح السابقة. | |||
==القيمة المعادة== | |||
يعاد طول [[Ruby/String|السلسلة النصية]] المكتوبة. | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>write</code>: | مثال على استخدام التابع <code>write</code>: | ||
سطر 51: | سطر 31: | ||
IO.write("testfile", "0123456789") #=> 10 | IO.write("testfile", "0123456789") #=> 10 | ||
# File would now read: "0123456789"</syntaxhighlight> | # File would now read: "0123456789"</syntaxhighlight> | ||
== | ==انظر أيضًا== | ||
* | * التابع [[Ruby/IO/read|<code>read</code>]]: يقرأ ملفًا محددًا بعد فتحه ثم يغلقه قبل إعادة الناتج. | ||
* التابع [[Ruby/IO/readlines|<code>readlines</code>]]: يقرأ ملفًا بأكمله سطرًا سطرًا ثم يعيد تلك الأسطر في [[Ruby/Array|مصفوفة]]. | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/IO.html#method-c-write قسم | *[http://ruby-doc.org/core-2.5.1/IO.html#method-c-write قسم التابع write في الصنف 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
: يقرأ ملفًا بأكمله سطرًا سطرًا ثم يعيد تلك الأسطر في مصفوفة.