SICP ، مخطط ، سؤال Drracket: Timer/Profiler وظيفة؟
سؤال
أحاول حاليًا القيام بالتمرين 1.22 ، والذي يحتاج إلى وظيفة تسمى وقت التشغيل الذي يعيد عدد المللي ثانية التي يعمل فيها النظام. ومع ذلك ، لا يبدو أن بيئتي (R5Rs) لديها هذا. ليس لديه الوقت ، والميليسيكونات الحالية ، والميليسيكوند الحالية ، وما إلى ذلك.
ما هي الوظيفة التي يمكنني الوصول إليها ، لالتقاط وظيفتي؟ ما هي الوظائف التي تُرجع عدد المللي ثانية ، والميكروثانية ، وما إلى ذلك ، التي مرت؟ بالطبع أود أن أفضّل أعلى جهاز ضبط الوقت المتاح.
المحلول
ربما ، أفضل ما يجب القيام به هو تبديل اللغة في Drracket "لاستخدام اللغة المعلنة في المصدر" ، وبدء ملفك مع #lang racket
. ثم وظائف مثل current-seconds
وسيكون الأصدقاء متاحين.
بدلاً من ذلك ، يمكنك استخدام مكتبة التنميط ، المتاحة عبر (require profile)
وتوثيق هنا.
أخيرًا ، قد ترغب في إلقاء نظرة على نيل فان دايك مكتبة SICP لـ Drracket.
نصائح أخرى
انا إستعملت الحالي milliseconds عندما فعلت هذا التمرين. تنبيه المفسد: يمكنك رؤية الحل الخاص بي على مدونتي في تمرين SICP 1.22: اختبار رئيسي في توقيت.
بالمناسبة ، لقد حللت هذه المشكلة فقط بعد طرح سؤال مماثل ، هل هناك ما يعادل "وقت التشغيل" في LISP في المخطط؟