2013-03-13 3 views
1

내가 Clojure에서의 ArrayList를 채울려고하지만 다음과 같은 오류 메시지가Clojure에서 ArrayList를 채우는 방법?

납니다

는 인 java.util.ArrayList가 clojure.lang.IFn 캐스트 할 수없는 다음

입니다 내 코드 :

(ns blackhole-v1.core 
    (:import [java.util ArrayList]) 
    (:import [toxi.geom Vec2D]) 
    (:use [quil.core])) 


(def particles (new ArrayList)) 


(defn add-particle [] 
; (particles (.add (new Vec2D (random (width)) (random (height))))) 
    (doto (particles) 
    (.add (new Vec2D (random (width)) (random (height)))))) 


(defn setup [] 
    (smooth) 
    (background 0) 
    (add-particle)) 


(defn draw [] 
    (background 0) 
    (dotimes [i (.size particles)] 
    (ellipse (.x (.get particles i)) (.y (.get particles i)) 20 20))) 


(defsketch blackhole-v1 
    :title "black hole v1" 
    :setup setup 
    :draw draw 
    :size [640 480]) 

어떤 아이디어가 잘못 되었나요?

답변

4

(particles)을 함수로 호출하려고하지만이 함수는 단순한 var입니다. (particles) 대신에 particles

(defn add-particle [] 
; (particles (.add (new Vec2D (random (width)) (random (height))))) 
    (doto particles 
    (.add (new Vec2D (random (width)) (random (height)))))) 
관련 문제