2012-05-18 4 views
2
lein new caching 

그런 다음 내 project.clj 파일을 편집하십시오.core.cache에서 내가 뭘 잘못하고 있니?

(defproject caching "1.0.0-SNAPSHOT" 
    :description "FIXME: write description" 
    :dependencies [[org.clojure/clojure "1.3.0"] 
       [org.clojure/core.cache "0.5.0"]] 
    :plugins [[lein-swank "1.4.3"]]) 

내가 실행 :

lein repl 

종속성 행진, 모든 것이 괜찮습니다.

나는 다음 https://github.com/clojure/core.cache/wiki/LRU

(ns caching.core 
    (:require [clojure.core.cache :as cache])) 

(cache/lru-cache-factory {} :limit 2) 

에서 예제 문서에서 영감을 다음과 core.clj 편집 core.clj를 컴파일 할 때 다음과 같은 오류가 다시 얻을. 그래서 ... 내가 뭘 잘못하고 있니? 아무도 제대로 작동하지 않았습니까?

Wrong number of args (3) passed to: cache$lru-cache-factory 
    [Thrown class clojure.lang.ArityException] 

Restarts: 
0: [QUIT] Quit to the SLIME top level 

Backtrace: 
    0:  AFn.java:437 clojure.lang.AFn.throwArity 
    1:   AFn.java:47 clojure.lang.AFn.invoke 
    2: NO_SOURCE_FILE:1 caching.core/eval2247 
    3: Compiler.java:6465 clojure.lang.Compiler.eval 
    4: Compiler.java:6431 clojure.lang.Compiler.eval 
    5:  core.clj:2795 clojure.core/eval 
    6:  core.clj:532 swank.core/eval782[fn] 
    7: MultiFn.java:163 clojure.lang.MultiFn.invoke 
    8:  basic.clj:54 swank.commands.basic/eval-region 
    9:  basic.clj:44 swank.commands.basic/eval-region 
10:  basic.clj:73 swank.commands.basic/eval968[fn] 
11:  Var.java:401 clojure.lang.Var.invoke 
12: (Unknown Source) caching.core/eval2245 
13: Compiler.java:6465 clojure.lang.Compiler.eval 
14: Compiler.java:6431 clojure.lang.Compiler.eval 
15:  core.clj:2795 clojure.core/eval 
16:  core.clj:100 swank.core/eval-in-emacs-package 
17:  core.clj:256 swank.core/eval-for-emacs 
18:  Var.java:409 clojure.lang.Var.invoke 
19:  AFn.java:167 clojure.lang.AFn.applyToHelper 
20:  Var.java:518 clojure.lang.Var.applyTo 
21:  core.clj:600 clojure.core/apply 
22:  core.clj:107 swank.core/eval-from-control 
23:  core.clj:330 swank.core/spawn-worker-thread[fn] 
24:  AFn.java:159 clojure.lang.AFn.applyToHelper 
25:  AFn.java:151 clojure.lang.AFn.applyTo 
26:  core.clj:600 clojure.core/apply 
27:  core.clj:326 swank.core/spawn-worker-thread[fn] 
28:  RestFn.java:397 clojure.lang.RestFn.invoke 
29:   AFn.java:24 clojure.lang.AFn.run 
30:  Thread.java:662 java.lang.Thread.run 

답변

4

lru-cache-factory이 core.cache 버전 0.5.0에 대한 다른 인수 목록을 한 것으로 나타납니다. 여기

커밋에서 DIFF의 복사본입니다 a052bb568a1ca84b73ffda0bd252f01c5fa310aa

- [limit base] 
+ [base & {limit :limit :or {limit 32}}] 

튜토리얼을 따라하기 위해 core.cache의 0.6.0-SNAPSHOT을 사용해보십시오. 당신은 0.5.0에 따라 계속하려면

1

,이처럼 보이도록 코드를 변경할 수 있습니다

(ns caching.core 
    (:require [clojure.core.cache :as cache])) 

(cache/lru-cache-factory 2 {}) 
+0

를 거의 내가 무슨 짓을했는지. 나는 간단하다. –

관련 문제