無名クラス、マクロ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/26 23:32 UTC 版)
「Clojure」の記事における「無名クラス、マクロ」の解説
ダミーのjava.io.Writerのサブクラスを無名クラスとして作成し、それを使って、内部のprint関数からの全ての出力を無効にするようなマクロを定義。 (def bit-bucket-writer (proxy [java.io.Writer] [] (write [buf] nil) (close [] nil) (flush [] nil)))(defmacro noprint "Evaluates the given expressions with all printing to *out* silenced." [& forms] `(binding [*out* bit-bucket-writer] ~@forms))(noprint (println "Hello, nobody!"))
※この「無名クラス、マクロ」の解説は、「Clojure」の解説の一部です。
「無名クラス、マクロ」を含む「Clojure」の記事については、「Clojure」の概要を参照ください。
- 無名クラス、マクロのページへのリンク