我是一个初学者,开始使用Clojure和Leiningen,我遇到了一个试图使用各种lein命令的问题.虽然$ lein deps工作正常,但当我尝试使用时$ lein plugin install <plugin>,甚至$lein help,我都会在下面粘贴堆栈跟踪.我猜这是一个设置问题,但我无法在线查找信息或找到合适的地方开始寻找.安装lein时,我按照Leiningen GitHub页面上的说明进行操作.
Exception in thread "main" java.lang.ExceptionInInitializerError (NO_SOURCE_FILE:0)
at clojure.lang.Compiler.eval(Compiler.java:5440)
at clojure.lang.Compiler.eval(Compiler.java:5391)
at clojure.core$eval.invoke(core.clj:2382)
at clojure.main$eval_opt.invoke(main.clj:235)
at clojure.main$initialize.invoke(main.clj:254)
at clojure.main$script_opt.invoke(main.clj:270)
at clojure.main$main.doInvoke(main.clj:354)
at clojure.lang.RestFn.invoke(RestFn.java:457)
at clojure.lang.Var.invoke(Var.java:377)
at clojure.lang.AFn.applyToHelper(AFn.java:172)
at clojure.lang.Var.applyTo(Var.java:482)
at clojure.main.main(main.java:37)
Caused by: java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at clojure.lang.RT.loadClassForName(RT.java:1578)
at clojure.lang.RT.load(RT.java:399)
at clojure.lang.RT.load(RT.java:381)
at clojure.core$load$fn__4519.invoke(core.clj:4915)
at clojure.core$load.doInvoke(core.clj:4914)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:4729)
at clojure.core$load_lib.doInvoke(core.clj:4766)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:542)
at clojure.core$load_libs.doInvoke(core.clj:4800)
at clojure.lang.RestFn.applyTo(RestFn.java:137) …Run Code Online (Sandbox Code Playgroud) 我有一个Backbone View,用于特定元素将继承的一般元素.我有需要应用于所有元素的事件处理逻辑,以及特定于子类型元素的事件处理逻辑.我遇到了麻烦,因为子View有一个也由父View处理的事件的回调,因此当我尝试在两者中使用事件哈希时,永远不会调用子回调或父回调.让我用一些代码来说明:
var ElementView = Backbone.View.extend({
events: {
"mouseup": "upHandler",
"mousedown": "downHandler",
"mousemove": "moveHandler"
},
initialize: function() {
// add events from child
if (this.events)
this.events = _.defaults(this.events, ElementView.prototype.events);
this.delegateEvents(this.events);
}
});
var StrokeView = ElementView.extend({
events: {
"mousemove": "strokeMoveHandler"
}
});
Run Code Online (Sandbox Code Playgroud)
我将如何以可扩展的方式解决这个问题,特别是如果我以后会有另一个级别的继承?
我有一个通过subprocess.Popen创建的Popen类的实例.我想获得该进程的名称,但我找不到任何方法或实例变量可以让我得到它.例如,如果我有:
p = subprocess.Popen('ls')
Run Code Online (Sandbox Code Playgroud)
我想找一个方法来给我这个过程的名称,这个方法就像:
>>> p.name()
ls
Run Code Online (Sandbox Code Playgroud)