есть ли способ вернуть функцию clojure в виде строки? Я делаю некоторую онлайн-документацию, и мне бы очень хотелось иметь возможность добавлять код в html, как-то оценивая функцию в тексте.как вернуть функцию clojure в виде строки
благодаря
есть ли способ вернуть функцию clojure в виде строки? Я делаю некоторую онлайн-документацию, и мне бы очень хотелось иметь возможность добавлять код в html, как-то оценивая функцию в тексте.как вернуть функцию clojure в виде строки
благодаря
Взгляните на source-fn
функции из clojure.repl
имен:
Использование: (источник-п х)
Возвращает строку исходного кода для данного символа , если он может найти его. Для этого требуется, чтобы символ был разрешен для Var, определенного в пространстве имен , для которого .clj находится в пути к классам. Возвращает ноль, если он не может найти источник. Для большинства использования REPL 'source' является более удобным.
Пример: [? Можете ли вы получить „код как данные“ нагруженной функции в Clojure] (источник-ф «фильтр)
Большое спасибо. (источник) было именно то, что мне нужно! Кажется очевидным теперь, конечно;) –
просто шутит, источник использует print, где в качестве источника-fn возвращается строка, в которой я нуждался. еще раз спасибо –
возможно дубликат (http://stackoverflow.com/questions/ 9217911/can-you-get-the-code-as-data-of-a-load-function-in-clojure) –
Я думаю, что этот вопрос имеет более googleable заголовок, чем его дубликат. –
Возможно, вы захотите рассмотреть [marginalia] (https://github.com/fogus/marginalia), по крайней мере, для вдохновения, см. [Пример сайта marginalia] (http://fogus.me/fun/marginalia/) для пример того, как выглядит вывод. –