التابع Process.clock_getres في روبي

من موسوعة حسوب
< Ruby‏ | Process
مراجعة 11:31، 1 يناير 2019 بواسطة جميل-بيلوني (نقاش | مساهمات) (←‏مصادر)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يعيد التابع clock_getres دقة الوقت المعادة عبر الدالة clock_getres()‎ التي تخص POSIX.

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

clock_getres(clock_id [, unit])  number

المعاملات

clock_id

يحدِّد نوع النبضات (clock). اطلع على توثيق التابع clock_gettime لمزيد من التفاصيل. يمكن لهذا المعامل أن يكون رمزًا كما هو مذكور في clock_gettime. مع ذلك، قد لا تكون النتيجة دقيقة. على سبيل المثال، يعيد clock_getres(:GETTIMEOFDAY_BASED_CLOCK_REALTIME)‎ القيمة 1.0e-06 التي تعني 1 ميكروثانية لكنَّ الدقة الحقيقية أكبر من ذلك.

إن كانت القيمة المعطاة للمعامل clock_id غير مدعومة، فسيُطلَق الخطأ Errno::EINVAL.

unit

يحدِّد نوع (واحدة) القيمة المعادة. يقبل التابع clock_getres الواحدة نفسها التي يقبلها التابع clock_gettime. القيمة الافتراضية هي: ‎:float_second وهي نفسها القيمة الافتراضية في التابع clock_gettime. اطلع على توثيق التابع clock_gettime لمزيد من التفاصيل حول هذا المعامل.

يقبل التابع استعمال القيمة ‎:hertz مع هذا المعامل أيضًا. تعني القيمة ‎:hertz مقلوب ‎:float_second. يمكن استعمال القيمة ‎:hertz للحصول على القيمة الدقيقة لدقات النبضات (clock ticks) في الثانية من أجل الدالة times()‎ والقيمة CLOCKS_PER_SEC من أجل الدالة clock()‎.

يعيد clock_getres(:TIMES_BASED_CLOCK_PROCESS_CPUTIME_ID, :hertz)‎ عدد دقات النبضات في الثانية. أمَّا clock_getres(:CLOCK_BASED_CLOCK_PROCESS_CPUTIME_ID, :hertz)‎، فيعيد CLOCKS_PER_SEC.

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

يعاد عدد يمثِّل دقة الوقت المعادة عبر الدالة clock_getres()‎ التي تخص POSIX.

أمثلة

مثال على استعمال التابع clock_getres:

p Process.clock_getres(Process::CLOCK_MONOTONIC)
#=> 1.0e-09

انظر أيضًا

  • التابع argv0: يعيد اسم الشيفرة البرمجية التي يجري تنفيذها.
  • التابع clock_gettime: يعيد الوقت المعادة عبر الدالة clock_gettime()‎ التي تخص POSIX.

مصادر