Clojureの書き方がわからない
Twitter4JをいじっているのだがJavaで
ConfigurationBuilder confbuilder = new ConfigurationBuilder(); confbuilder.setOAuthConsumerKey(CONSUMERKEY); confbuilder.setOAuthConsumerSecret(CONSMERSECRET); TwitterFactory twitterfactory = new TwitterFactory(confbuilder.build()); twitter = twitterfactory.getOAuthAuthorizedInstance( new AccessToken(ACCESSTOKEN,ACCESSSECRET));
となっているところをClojureでどう書けばいいのか分からず数日停止。
(def conf-builder (doto (. (ConfigurationBuilder. ) (setOAuthConsumerKey consumer-key) (setOAuthConsumerSecret consumer-secret)))) (def cb (. conf-builder build)) (def ac (AccessToken. access-token access-secret)) (def twitter-factory (TwitterFactory. cb)) (def twitter (. twitter-factory (getOAuthAuthorizedInstance ac)))
こう書くと
java.lang.IllegalStateException: Cannot use this builder any longer, build() has already been called (ClojureTwitter.clj:0)
のように怒られてしまう。(def cb (. conf-builder build))でbuild()が実行され、それがまた(def twitter-factory (TwitterFactory. cb))で再評価されるので問題らしい。どうやって回避すればいいのか...
誰か教えてー!!