clojure で ツイートする術

こんにちは。朝はエスプレッソマキアートのきたけーです。

最近、clojureの勉強しているんですけど、本読んだり、repl叩いたりするだけだと面白く無いので、小ネタをひとつ。

adamwynne/twitter-api を使う

軽くぐぐってみたところ、 adamwynne/twitter-api · GitHub がよさげだったので、これを使うことに。

インストール

leiningen で新しくプロジェクトをつくって(lein new tweet-sample)、project.clj の依存関係に[twitter-api "0.7.6"]を追加。lein depsでインストール。

ツイートすっぞ

projectのcore.cljにこんなかんじで書いて、project.cljにmainのファイルを指定して(:main tweet-sample.core)、lein runするとツイートできる。

(ns tweet-sample.core
  (:use
    [twitter.oauth]
    [twitter.api.restful]))
(def my-creds (make-oauth-creds *consumer-key*
                                *consumer-secret*
                                *access-token*
                                *access-token-secret*))

(defn -main [& args]
  (statuses-update :oauth-creds my-creds
                   :params {:status "クロォジャアからの投稿です"}))

所感

これまでCommonLispとかSchemeを扱った本を1年おきに読んできたんですけど、「なるほど! じゃあなにか書くか」という段になると、「○○するのはどうすればいいの...」となって、結局何も書かずに忘却の彼方なのでした。 clojureは、なにか試しにつくってみるための最初の一歩で、そこらへんの悩みが起きないのでいいすね。

プログラミング言語、本読んでるだけだと、なにもやってないかんじが半端ないので、欲求不満になる➞簡単な内容でいいからコード書く➞ハッピー➞本読んで欲求不満になる➞簡単な内容でいいからコード書く➞ハッピーのループをつくるのが大切感ある。