我有以下功能:是否有可能將Elapsed Time函數轉換爲Integer?
(def elapsedtime (with-out-str (time (run-my-function))))
,我想知道是否可以只存儲時間的整數值,因爲我只能存放在目前的String ....
任何建議? 非常感謝
UPDATE
So I did use this:
(defmacro nsecs
[expr]
`(let [start# (. System (nanoTime))]
~expr
(- (. System (nanoTime)) start#)))
然後修改這個:
(def elapsedtime (nsecs (run-my-function argument1 argument2)))
但不工作,我究竟做錯了什麼?
「異常在線程 」AWT-EventQueue的-0「 java.lang.IllegalArgumentException異常:ARGS(1)傳遞到的錯誤數量:主$ FN - $ 105納秒」
我看到你對nsecs的定義與Jan's不同。也許你應該嘗試使用Jan的。這個對我有用。 – user100464 2012-04-05 23:22:31
我也試過他的版本,但沒有任何改變。問題在於參數的數量。即使我做了「(def elapsedtime(nsecs(+ 1 1)))」它不起作用....奇怪 – nuvio 2012-04-05 23:33:42
你在什麼環境中運行它?你可以從命令行啓動一個REPL,而不使用Clojure代碼的其餘部分,並檢查宏是否有同樣的問題? – user100464 2012-04-06 00:20:32