как вернуть функцию clojure в виде строки - PullRequest
8 голосов
/ 09 марта 2012

есть ли способ вернуть функцию clojure в виде строки? Я делаю некоторую онлайн-документацию, и я действительно хотел бы иметь возможность добавлять код в HTML, каким-то образом оценивая функцию в текст.

спасибо

1 Ответ

6 голосов
/ 09 марта 2012

Взгляните на функцию source-fn из пространства имен clojure.repl:

Использование: (source-fn x)

Возвращает строку исходного кода для данного символа, если это возможно Найди это. Для этого необходимо, чтобы символ преобразовался в переменную, определенную в пространство имен, для которого .clj находится в пути к классам. Возвращает ноль, если это не могу найти источник. Для большинства случаев использования REPL «источник» более удобный.

Пример: (фильтр source-fn ')

...