В моем приложении мне нужно преобразовать ключевое слово clojure, например. : var_name в строку "var_name". Есть идеи, как это можно сделать?
100
user=> (doc name)
-------------------------
clojure.core/name
([x])
Returns the name String of a string, symbol or keyword.
nil
user=> (name :var_name)
"var_name"
(source name)
?name
работает, интересовать не должно. Строка документации - это контракт. Все остальное - это деталь реализации, на которую не следует полагаться.(name :foo/123/bar)
такое «бар». Если вам нужен полный путь ключевого слова, которое вам нужно использовать,subs
или что-то в этом роде(str (namespace k) "/" (name k))
На самом деле, получить часть пространства имен ключевого слова так же просто:
Обратите внимание, что пространства имен с несколькими сегментами разделяются символом '.', А не '/'
И это также работает с ключевыми словами, квалифицированными в пространстве имен:
источник
Обратите внимание, что ответ котарака не вернет часть пространства имен ключевого слова, а только часть имени - так что:
Использование его другого комментария дает то, о чем вы просили:
источник
Преобразование любого типа данных в строку - не утомительная задача. Вот пример использования str .
источник
Это также даст вам строку из ключевого слова:
источник
str
в вашем примере не нужен.