clojure中是否有读取函数来解析clojure数据结构?我的用例是读取配置属性文件,属性的一个值应该是一个列表.我希望能够写成:
file.properties:
property1 = ["value1" "value2"]
Run Code Online (Sandbox Code Playgroud)
并在clojure:
(load-props "file.properties")
Run Code Online (Sandbox Code Playgroud)
并获取值为{property1,["value1""value2"]的地图
现在,我正在使用相同的输入文件"file.properties"执行以下操作:
(defn load-props [filename]
(let [io (java.io.FileInputStream. filename)
prop (java.util.Properties.)]
(.load prop io)
(into {} prop)))
;; returns:
;; {"property1" "[\"valu1\", \"valu2\"]"}
(load-props "file.properties")
Run Code Online (Sandbox Code Playgroud)
但我无法找到将结果解析为clojure向量的方法.我基本上在寻找像Erlang的文件:consult/1函数.知道怎么做吗?
我试图弄清楚如何将分支从单独的仓库合并到当前.
我有以下内容:
PJT1 - 包含分支默认和foodog
PJT2 - 包含分支默认值
来自PJT2,我做了以下几点:
$ hg fetch -y ../PJT1 -r foodog -m "this is a test"
Run Code Online (Sandbox Code Playgroud)
现在,如果我查看PJT2,我会看到正确的文件和更改.但是,如果我这样做hg branches,我会得到以下内容:
[someone@myhome pjt2]$ hg branches
foodog 1:c1e14fde816b
default 0:7b1adb938f71 (inactive)
Run Code Online (Sandbox Code Playgroud)
并hg branch揭示以下内容:
[someone@myhome pjt2]$ hg branch
foodog
Run Code Online (Sandbox Code Playgroud)
如何从PJT1的foodog分支机构获取PJT2 分支的内容default?
我有以下代码:
class EntityBase (object) :
__entity__ = None
def __init__ (self) :
pass
def entity (name) :
class Entity (EntityBase) :
__entity__ = name
def __init__ (self) :
pass
return Entity
class Smth (entity ("SMTH")) :
def __init__ (self, a, b) :
self.a = a
self.b = b
# added after few comments -->
def factory (tag) :
for entity in EntityBase.__subclasses__ () :
if entity.__entity__ == tag :
return entity.__subclasses__ ()[0]
raise FactoryError (tag, "Unknown entity")
s = factory …Run Code Online (Sandbox Code Playgroud)