2012-03-09 8 views
8

文字列としてclojure関数を返す方法はありますか?私はいくつかのオンラインドキュメントを作成しているので、関数をテキストに評価することによってhtmlにコードを追加できるようにしたいと思っています。clojure関数を文字列として返す方法

おかげ

+0

可能複製(http://stackoverflow.com/questions/ 9217911 /コードを取得する機能としてのコードとしてのコードを取得する –

+0

この質問には重複するよりもgoogleableのタイトルが多いと思います。 –

+0

少なくともマッサージのために[marginalia](https://github.com/fogus/marginalia)を検討することをお勧めします。[example marginalia site](http://fogus.me/fun/marginalia/)出力がどのように見えるかの例。 –

答えて

6

clojure.repl名前空間からsource-fn機能を見てみましょう:

使用法:(ソース-FN x)から

を与えられたシンボルのソースコードの文字列を返します、それができる場合 それを見つける。これには、シンボルが.cljがクラスパスにある 名前空間に定義されているVarに解決される必要があります。 がソースを見つけることができない場合はnilを返します。ほとんどのREPL用法では、 'source'はもっと便利です です。

例:[?あなたはClojureの中にロードされた機能の "データとしてのコード" を得ることができます](ソース-FN「フィルタ)

+0

ありがとうございました。 (ソース)は私が必要としていたものでした!今すぐ明らかに見える;) –

+0

ちょうど冗談ですが、sourceはprintをsource-fnが必要とする文字列を返す場所で使用します。再度、感謝します –

関連する問題