在我的应用程序中,我需要将clojure关键字例如。 :将var_name转换为字符串“var_name”。任何想法如何可以做到?如何将clojure关键字转换为字符串?
88
A
回答
147
user=> (doc name)
-------------------------
clojure.core/name
([x])
Returns the name String of a string, symbol or keyword.
nil
user=> (name :var_name)
"var_name"
8
注意kotarak的答案将不会返回关键字的命名空间的一部分,只是名称的一部分 - 所以:
(name :foo/bar)
>"bar"
使用他的其他评论让你问什么:
(subs (str :foo/bar) 1)
>"foo/bar"
11
实际上,获取关键字的命名空间部分同样简单:
(name :foo/bar) => "bar"
(namespace :foo/bar) => "foo"
注意,多段的命名空间是一个分开的,而不是‘/’
(namespace :foo/bar/baz) => throws exception: Invalid token: :foo/bar/baz
(namespace :foo.bar/baz) => "foo.bar"
而且这还与命名空间限定关键字“”:
;; assuming in the namespace foo.bar
(namespace ::baz) => "foo.bar"
(name ::baz) => "baz"
0
这也会给你来自关键字的字符串:
(str (name :baz)) -> "baz"
(str (name ::baz)) -> "baz"
+1
'str'在你的例子中不需要。 – Vincent 2018-01-01 12:57:33
相关问题
- 1. 如何将Clojure中的字符LazySeq转换为字符串?
- 2. 如何将关键字转换为字符串?
- 3. Elixir - 如何将关键字列表转换为字符串?
- 4. 将C#转换为Excel,将关键字替换为关键字
- 5. php - 如何将字符串转换为其关键字的关联数组
- 6. 将Bouncy城堡aes关键字转换为UTF-8字符串
- 7. 如何将字典转换为一串关键字参数?
- 8. 如何将字符串转换为clojure表达式?
- 9. 如何将字符串的字符串转换为字符?
- 10. SWT:将键码转换为字符串
- 11. 将字符串转换为字符串
- 12. 如何将字符串文字转换为字符串值
- 13. 如何将JTextField转换为字符串和字符串为JTextField?
- 14. 将字符串中的每个字符转换为字典键
- 15. 如何将字符串[]转换为NameValueCollection?
- 16. 如何将字符串转换为NSdate?
- 17. 如何将字符串转换为UTF8?
- 18. 如何将HTMLElement转换为字符串
- 19. 如何将字符串转换为xml
- 20. 如何将字符串转换为LocalDateTime?
- 21. 如何将字符串转换为TimeSeriesDataItem
- 22. 如何将字符串转换为NSDate?
- 23. 如何将double转换为字符串?
- 24. 如何将HTML转换为字符串?
- 25. 如何将字符串转换为slu??
- 26. 如何将字符串转换为int?
- 27. 如何将字符串转换为ArrayList
- 28. 如何将字符串转换为CLLocation?
- 29. 如何将字符串转换为ushort
- 30. 如何将字符串转换为long
我无法想象一个更完整的答案,但只是为了好玩,我敢于有人想出它。 – 2010-09-15 15:55:57
@Hamish也许加入'(源名)'? – ponzao 2010-09-15 18:05:47
'名称'如何工作不应该是有趣的。文档字符串是合同。其他任何东西都是一个实现细节,不应该依赖。 – kotarak 2010-09-15 19:32:37