给定一个只有关键字键的嵌套映射{:foo {:bar 1 :baz [2 3] :qux {:quux 4}} :corge 5}
,如何实现,flatten-map
以便(flatten-map {:foo {:bar 1 :baz [2 3] :qux {:quux 4}} :corge 5} "-")
产生类似的东西{:foo-bar 1 :foo-baz [2 3] :foo-qux-quux 4 :corge 5}
.
我最好的尝试是:
(defn flatten-map
([form separator] (flatten-map form separator nil))
([form separator prefix]
(if (map? form)
(into {} (map (fn [[k v]]
[(keyword (str prefix (name k)))
(flatten-map v separator (str prefix (name k) separator))])
form))
form)))
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我不能flatten-map
只选择"叶子".
我正在使用Pow在Mac OS X上为Rack应用程序提供服务.http://myapp.dev
正确显示应用程序.在同一台机器上,我使用VMware Fusion运行Windows 7,同时共享Mac的网络连接.我想在VM中使用Internet Explorer测试Rack应用程序.http://vmnet8.adapter.ip.address
正确显示"Pow is installed screen".但是,htttp://myapp.dev
不再有效.
据我所知,Pow创建了一个DNS解析器并使用它自己的DNS服务器拦截以".dev"结尾的域并将它们重定向到localhost.是否有可能让它在VM中运行?