【发布时间】:2012-04-19 16:04:10
【问题描述】:
我有以下功能:
(def elapsedtime (with-out-str (time (run-my-function))))
我想知道是否可以只存储时间的整数值,因为我现在只能存储一个字符串......
有什么建议吗? 非常感谢
更新
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:传递给的参数 (1) 数量错误:main$fn--105$nsecs”
【问题讨论】:
-
我看到您对 nsecs 的定义与 Jan 的不同。也许你应该尝试使用 Jan's。它对我有用。
-
我也尝试了他的版本,但没有任何改变。问题在于参数的数量。即使我做“(def elapsedtime(nsecs(+ 1 1)))”它也不起作用......奇怪
-
你在什么环境下运行它?您能否在不使用 Clojure 代码的其余部分的情况下从命令行启动 REPL,并检查宏是否存在相同的问题?
标签: string time casting clojure integer