2010-09-27 70 views
4

我目前正在嘗試做練習1.22,它需要一個稱爲運行時的函數,它返回系統運行的毫秒數。但是,我的環境(R5RS)似乎沒有這個。它沒有時間,電流毫秒,電流不精確毫秒等等。SICP,Scheme,DrRacket問題:定時器/分析器功能?

我可以訪問什麼功能來分析我的功能?哪些函數返回通過的毫秒數,微秒數等?我當然更喜歡可用的最高精度計時器。

回答

3

也許,做的最好的事情是切換在DrRacket語言爲「使用在源文件中聲明的語言」,並開始您的文件與#lang racket。然後功能如current-seconds和朋友將可用。

或者,您可以使用概要分析庫,可通過(require profile)和文檔here獲得。

最後,你可能想看看尼爾範戴克的SICP library for DrRacket

1

我在練習時使用current-inexact-milliseconds擾流板警報:你可以在我的博客上看到我的解決方案SICP Exercise 1.22: Timed Prime Test

順便說一句,我只是解決了這個問題問過類似的問題後,Is there an equivalent to Lisp's 「runtime」 primitive in Scheme?

+0

正如我在我的文章中所述,電流不精確毫秒不起作用。我得到以下錯誤:引用未定義的標識符:current-inexact-milliseconds。你在使用什麼環境? – KnowsLittle 2010-09-27 15:35:54

+0

@KnowsLittle:我運行DrScheme,選擇語言「模塊」進行SICP練習。對不起,我想我已經在鏈接的文章中提到過了。我需要更新它。 – 2010-09-27 15:47:09