评论由:hiredman
命名作为一种协议或接口似乎与当您手头有命名空间时创建有命名空间的符号无关。
我认为补丁不足以完成这项工作,不仅应该支持(symbol ns "foo"),还应该支持(symbol ns 'foo'),鉴于(symbol 'foo')和(symbol "foo")都有效,因此(symbol 'bar' 'foo')也应该工作,但实际上并没有。
如果Named是一个协议,并且如果你将其扩展到String,即使你是通过从一个或两个Named实体创建符号的方式来实现的,最终仍然需要进行(symbol (ns-name ns) 'foo)或者(symbol (ns-name ns) "foo")的操作。