الفرق بين المراجعتين لصفحة: «Ruby/File/new»
جميل-بيلوني (نقاش | مساهمات) إنشاء الصفحة. |
جميل-بيلوني (نقاش | مساهمات) إضافة شرح |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code>File.new</code> في روبي}}</noinclude> | <noinclude>{{DISPLAYTITLE: التابع <code>File.new</code> في روبي}}</noinclude> | ||
يفتح التابع <code>new</code> ملفًا محدَّدًا وبوضع معيَّن ثم يعيد كائنًا جديدًا من النوع <code>[[Ruby/File|File]]</code>. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">new(filename, mode="r" [, opt]) → file | <syntaxhighlight lang="ruby">new(filename, mode="r" [, opt]) → file | ||
new(filename [, mode [, perm]] [, opt]) → file</syntaxhighlight> | new(filename [, mode [, perm]] [, opt]) → file</syntaxhighlight>عندما يكون الملف قيد الإنشاء، فمن الممكن أن تُعطَى بتات الأذونات عبر المعامل <code>perm</code>. تتعلق بتات الأذونات <code>perm</code> والنمط <code>mode</code> بالمنصة المستعملة. في الأنظمة الشبهة بيونكس، اطلع على صفحة الدليل man للدالة <code>open(2)</code> والدالة <code>chmod(2)</code> لمزيد من التفاصيل. | ||
يكون الكائن <code>[[Ruby/File|File]]</code> الجديد المعاد في وضع التخزين (buffered mode) أو الوضع غير المتزامن (non-sync mode) إلا إذا كان المعامل <code>filename</code> هو tty. اطلع على توثيق التوابع <code>[[Ruby/IO/flush|IO.flush]]</code>، و <code>[[Ruby/IO/fsync|IO.fsync]]</code>، و [[Ruby/IO/fdatasync|<code>IO.datasync</code>]]، و <code>[[Ruby/IO/sync-3D|IO.sync]]</code> حول الوضع المتزامن (sync mode). | |||
== المعاملات == | |||
=== <code>filename</code> === | |||
اسم الملف المراد فتحه. | |||
=== <code>mode</code> === | |||
وضع الملف المراد فتحه فيه. اطلع على توثيق التابع <code>[[Ruby/IO/new|IO.new]]</code> لمزيد من المعلومات حول قيم هذا المعامل. | |||
=== <code>opt</code> === | |||
خيارات إضافية. اطلع على توثيق التابع <code>[[Ruby/IO/new|IO.new]]</code> لمزيد من المعلومات حول قيم هذا المعامل. | |||
=== <code>perm</code> === | |||
بتات الأذونات التي ستُعيَّن للملف المراد فتحه. | |||
==القيمة المعادة== | ==القيمة المعادة== | ||
يعاد | يعاد كائن جديد من النوع <code>[[Ruby/File|File]]</code> يمثِّل الملف <code>filename</code> بعد فتحه. | ||
==أمثلة== | ==أمثلة== | ||
مثال على استعمال التابع <code>new</code>: | مثال على استعمال التابع <code>new</code>: | ||
سطر 15: | سطر 31: | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/File/open|open]]</code>: يشبه التابع <code>new</code> تمامًا إن لم تعطَ كتلة برمجية معه أو سيمُرَّر الملف بعد فتحه (الكائن <code>[[Ruby/File|File]]</code>) إلى الكتلة ثم سيُغلق تلقائيًّا عند انتهاء تنفيذ الكتلة. | |||
==مصادر== | ==مصادر== |
المراجعة الحالية بتاريخ 09:17، 29 نوفمبر 2018
يفتح التابع new
ملفًا محدَّدًا وبوضع معيَّن ثم يعيد كائنًا جديدًا من النوع File
.
البنية العامة
new(filename, mode="r" [, opt]) → file
new(filename [, mode [, perm]] [, opt]) → file
عندما يكون الملف قيد الإنشاء، فمن الممكن أن تُعطَى بتات الأذونات عبر المعامل perm
. تتعلق بتات الأذونات perm
والنمط mode
بالمنصة المستعملة. في الأنظمة الشبهة بيونكس، اطلع على صفحة الدليل man للدالة open(2)
والدالة chmod(2)
لمزيد من التفاصيل.
يكون الكائن File
الجديد المعاد في وضع التخزين (buffered mode) أو الوضع غير المتزامن (non-sync mode) إلا إذا كان المعامل filename
هو tty. اطلع على توثيق التوابع IO.flush
، و IO.fsync
، و IO.datasync
، و IO.sync
حول الوضع المتزامن (sync mode).
المعاملات
filename
اسم الملف المراد فتحه.
mode
وضع الملف المراد فتحه فيه. اطلع على توثيق التابع IO.new
لمزيد من المعلومات حول قيم هذا المعامل.
opt
خيارات إضافية. اطلع على توثيق التابع IO.new
لمزيد من المعلومات حول قيم هذا المعامل.
perm
بتات الأذونات التي ستُعيَّن للملف المراد فتحه.
القيمة المعادة
يعاد كائن جديد من النوع File
يمثِّل الملف filename
بعد فتحه.
أمثلة
مثال على استعمال التابع new
:
f = File.new("testfile", "r")
f = File.new("newfile", "w+")
f = File.new("newfile", File::CREAT|File::TRUNC|File::RDWR, 0644)
انظر أيضا
- التابع
open
: يشبه التابعnew
تمامًا إن لم تعطَ كتلة برمجية معه أو سيمُرَّر الملف بعد فتحه (الكائنFile
) إلى الكتلة ثم سيُغلق تلقائيًّا عند انتهاء تنفيذ الكتلة.