Как вернуть функцию clojure в виде строки

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

Спасибо

1 ответ

Решение

Посмотрите на source-fn функция от clojure.repl Пространство имен:

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

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

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

Другие вопросы по тегам