الفرق بين المراجعتين لصفحة: «Ruby/IO/fsync»

من موسوعة حسوب
< Ruby‏ | IO
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>IO.fsync‎</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby IO...'
 
ط تدقيق.
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby IO]]
[[تصنيف: Ruby IO]]
يكتب التابع <code>fsync</code> على الفور جميع البيانات المخزنة في [[Ruby/IO|مجرى د/خ]] <code>ios</code> في القرص. لاحظ أن <code>fsync</code> يختلف عن استخدام <code>IO#sync=</code>. حيث يضمن الأخير أن تُرسل البيانات من المخازن المؤقتة (buffers) لروبي، ​​ولكنه لا يضمن أنّ نظام التشغيل سيكتبها بالفعل في القرص.
يكتب التابع <code>fsync</code> مباشرةً جميع البيانات المخزنة في [[Ruby/IO|المجرى]] الذي استدعي معه على القرص. لاحظ أنَّ <code>fsync</code> يختلف عن استخدام التابع <code>[[Ruby/IO/sync-3D|sync=‎]]</code> إذ يضمن الأخير أن تُرسل البيانات من المخازن المؤقتة (buffers) لروبي، ​​ولكنه لا يضمن أنّ نظام التشغيل سيكتبها بالفعل على القرص.


سيُطلق الاستثناء <code>NotImplementedError</code> إن لم يكن نظام التشغيل يدعم <code>fsync(2)</code>.
سيُطلق الاستثناء [[Ruby/NotImplementedError|<code>NotImplementedError</code>]] إن لم يكن نظام التشغيل يدعم الدالة <code>fsync(2)</code>.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">fsync→ 0 or nil‎</syntaxhighlight>
<syntaxhighlight lang="ruby">fsync→ 0 or nil‎</syntaxhighlight>
==القيمة المُعادة==
==القيمة المعادة==
==انظر أيضا==
تعاد القيمة صفر عند انتهاء عملية الكتابة أو القيمة <code>nil</code> إن لم يكن هنالك أية بيانات لكتابتها.
* التابع <code>[[Ruby/IO/flush|flush]]</code>: يرسل (Flushes)  أي بيانات مخزنة في [[Ruby/IO|مجرى د/خ]] <code>ios</code> إلى نظام التشغيل (لاحظ أن هذا لا يشمل إلا التخزين المؤقت الداخلي لروبي؛ وقد يقوم نظام التشغيل بتخزين البيانات أيضًا).
 
* التابع <code>[[Ruby/IO/getbyte|getbyte]]</code>: يحصل  على البايت (8-bit byte) الموالي (0..255) من [[Ruby/IO|مجرى د/خ]] <code>ios</code>. ويُعيد <code>nil</code> إن استُدعي عند نهاية الملف.
==انظر أيضًا==
*التابع <code>[[Ruby/IO/fdatasync|fdatasync]]</code>: يكتب مباشرةً جميع البيانات المخزنة في مجرى د/خ على القرص.
*التابع <code>[[Ruby/IO/flush|flush]]</code>: ينقل أي بيانات مخزَّنة في المجرى الذي استدعي معه إلى نظام التشغيل.
==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-fsync قسم التابع fsync‎ في الصنف IO‎ في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-fsync قسم التابع fsync‎ في الصنف IO‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 11:00، 22 ديسمبر 2018

يكتب التابع fsync مباشرةً جميع البيانات المخزنة في المجرى الذي استدعي معه على القرص. لاحظ أنَّ fsync يختلف عن استخدام التابع sync=‎ إذ يضمن الأخير أن تُرسل البيانات من المخازن المؤقتة (buffers) لروبي، ​​ولكنه لا يضمن أنّ نظام التشغيل سيكتبها بالفعل على القرص.

سيُطلق الاستثناء NotImplementedError إن لم يكن نظام التشغيل يدعم الدالة fsync(2)‎.

البنية العامة

fsync 0 or nil

القيمة المعادة

تعاد القيمة صفر عند انتهاء عملية الكتابة أو القيمة nil إن لم يكن هنالك أية بيانات لكتابتها.

انظر أيضًا

  • التابع fdatasync: يكتب مباشرةً جميع البيانات المخزنة في مجرى د/خ على القرص.
  • التابع flush: ينقل أي بيانات مخزَّنة في المجرى الذي استدعي معه إلى نظام التشغيل.

مصادر