الفرق بين المراجعتين ل"Ruby/File/new"

من موسوعة حسوب
< Ruby‏ | File
اذهب إلى التنقل اذهب إلى البحث
(إنشاء الصفحة.)
 
(إضافة شرح)
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: التابع <code>File.new</code> في روبي}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: التابع <code>File.new</code> في روبي}}</noinclude>
يعيد التابع <code>new</code> ن
+
يفتح التابع <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) إلى الكتلة ثم سيُغلق تلقائيًّا عند انتهاء تنفيذ الكتلة.

مصادر