github.gist ってembedできるんだね

Posted by YpsilonTAKAI On 2011年9月1日木曜日 0 コメント
clojure関連のサイトを見ていたら、ソースコードの表示にgist使っているような感じのものがあった。
調べてみたら、gistでそんな機能を提供してるらしい。 しらなかった。

んで、使ってみた。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; create memoised func
;;
;; momoize in clojure 1.2 and after does not work as I expected. So, I created this macro.
(defmacro defn-memo
"Creates memoised function.
Also creates:
accessor of the memoized data which named <fname>-data.
resetter of the memoized data which named <fname>-crear."
[fname arg-list & body]
`(let [mem# (atom {})]
(defn ~(symbol (str (str fname) "-data")) []
@mem#)
(defn ~(symbol (str (str fname) "-clear")) []
(reset! mem# {}))
(defn ~fname ~arg-list
(if-let [e# (find @mem# ~arg-list)]
(val e#)
(let [ret# ~@body]
(swap! mem# assoc ~arg-list ret#)
ret#)))))
view raw defn-memo.clj hosted with ❤ by GitHub


どうだろ? あれ? シンタックスハイライトは無いのかな?

と思ったら、ファイル名に拡張子、この場合cljを指定してやったら、出た。

これ、いいじゃない。
ProjectEulerはこっちでやろうかな。





0 コメント:

コメントを投稿