Twitter4j

http://twitter4j.org/ja/index.html
のexampleから、GetDirectMessages.javaのベタ移植。

(import '(twitter4j DirectMessage))
(import '(twitter4j Twitter))
(import '(twitter4j TwitterException))
(import '(twitter4j TwitterFactory))

(defn get-twitter
  [sender-id sender-password]
  (. (TwitterFactory.) getInstance sender-id sender-password))

(defn get-direct-message
  [twitter]
    (try
     (for [message (. twitter getDirectMessages)] (println message))
     (catch TwitterException _ (println "Failed to send message: " (. _ getMessage)))))

もっとかっこいい書き方が絶対あるはず。
だれか教えて。

最初は「インスタンスを取得して〜メッセージ取得して〜」
と順次処理ばっかり考えていた。
Clojureを使っていると、頭の中で、機能が関数のコールグラフとして
イメージされていく感覚がある。