我在我的项目上遇到问题.这个项目过去运行正常,我不完全确定是什么改变打破了它.我认为这与GHC 7.6和OSX Mavericks之间的问题有关(我在这里使用Darin Morrison的自制公式).[ 编辑:澄清一下,这在小牛队的某个方面有效,所以这个假设可能不会成功.]问题似乎出现在连接步骤中:
In-place registering chorez-0.1.0.0...
Preprocessing executable 'chorez' for chorez-0.1.0.0...
Linking dist/build/chorez/chorez ...
Undefined symbols for architecture x86_64:
"_chorezzzm0zi1zi0zi0_ChorezzziRequest_AddResponse_con_info", referenced from:
_s5X4_info in libHSchorez-0.1.0.0.a(Commands.o)
"_chorezzzm0zi1zi0zi0_ChorezzziRequest_ErrorResponse_static_info", referenced from:
_chorezzzm0zi1zi0zi0_ChorezzziCommands_route1_closure in libHSchorez-0.1.0.0.a(Commands.o)
"_chorezzzm0zi1zi0zi0_ChorezzziRequest_parseRequest_closure", referenced from:
_r7eV_srt in libHSchorez-0.1.0.0.a(Server.o)
"_chorezzzm0zi1zi0zi0_ChorezzziRequest_parseRequest_info", referenced from:
_s7nh_info in libHSchorez-0.1.0.0.a(Server.o)
"_chorezzzm0zi1zi0zi0_ChorezzziRequest_zdfToJSONResponse1_closure", referenced from:
_r7eS_closure in libHSchorez-0.1.0.0.a(Server.o)
"_chorezzzm0zi1zi0zi0_ChorezzziRequest_zdfToJSONResponse4_closure", referenced from:
_s7ng_info in libHSchorez-0.1.0.0.a(Server.o)
_r7eQ_closure in libHSchorez-0.1.0.0.a(Server.o)
_r7eV_srt in libHSchorez-0.1.0.0.a(Server.o)
"_chorezzzm0zi1zi0zi0_ChorezzziRequest_zdfToJSONResponse5_closure", referenced from:
_s7ng_info in libHSchorez-0.1.0.0.a(Server.o)
_r7eV_srt in libHSchorez-0.1.0.0.a(Server.o)
ld: …
Run Code Online (Sandbox Code Playgroud) 这应该是非常简单的,但我仔细考虑了高级图表文档,似乎找不到专门处理文本颜色的选项(相比之下,背景,边框,线条等有特定的颜色选项).然后我遇到了chart.style选项.它似乎应该工作 - 但不是.
在这个jsfiddle演示中,您将看到我能够更改字体系列,而不是颜色.
我错过了什么?
我lein run
在Noir项目上运行时遇到编译错误.它正在工作,然后它突然停止工作.我怀疑这个错误与试图[org.pegdown/pegdown "1.1.0"]
在项目文件中包含我的依赖项向量有关,但我不确定.我删除了该行,lein clean; lein deps
然后lein run
再次尝试,但错误仍然存在.
以下是我得到的两个单独的错误.我不知道是什么触发了错误.我的所有文件(在命名空间"benekastah"中)都会在第1行报告错误,这通常是正常的ns
调用.
第二个错误似乎表明问题出在post_modify.clj中,但之前有效,我没有改变它.
我尝试了这里找到的解决方案,似乎没有用.
对这些令人困惑的错误的任何见解?
错误1:
Exception in thread "main" java.lang.RuntimeException: java.lang.ExceptionInInitializerError
at clojure.lang.Util.runtimeException(Util.java:165)
at clojure.lang.Compiler.eval(Compiler.java:6476)
at clojure.lang.Compiler.load(Compiler.java:6902)
at clojure.lang.RT.loadResourceScript(RT.java:357)
at clojure.lang.RT.loadResourceScript(RT.java:348)
at clojure.lang.RT.load(RT.java:427)
at clojure.lang.RT.load(RT.java:398)
at clojure.core$load$fn__4610.invoke(core.clj:5386)
at clojure.core$load.doInvoke(core.clj:5385)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5200)
at clojure.core$load_lib.doInvoke(core.clj:5237)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:602)
at clojure.core$load_libs.doInvoke(core.clj:5271)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:602)
at clojure.core$require.doInvoke(core.clj:5352)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at user$eval1.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6465)
at clojure.lang.Compiler.eval(Compiler.java:6454)
at clojure.lang.Compiler.eval(Compiler.java:6431)
at clojure.core$eval.invoke(core.clj:2795) …
Run Code Online (Sandbox Code Playgroud) 首先,我不是Java程序员,所以如果你的答案没有用Java定义,那将会很有帮助(因为这是有道理的).
我有一个leiningen项目(特别是一个使用noir的web项目),使用看起来像是将你的clojure源文件放入的常见模式src/YOUR-NAMESPACE/
.到目前为止,我已成功添加目录和文件,并且我一直使用文件路径作为基础ns
(遵循我在生成的代码中看到的模式).
我添加了一个不起作用的新文件,我想知道为什么.它的路径是PROJECT-ROOT/src/bayou/lib/api-helpers.clj
它的命名空间(ns bayou.lib.api-helpers)
.我得到的具体错误是:
java.io.FileNotFoundException: Could not locate bayou/lib/api_helpers__init.class or bayou/lib/api_helpers.clj on classpath
为了让clojure识别名称空间,采取了哪些步骤?
我意识到这个问题几乎是这里发现的确切问题.然而,看到这个问题是1.5岁(左右),我想重新审视它.如何使用leiningen添加本地依赖项?当然,这种能力必须存在吗?
该比诺宏defpage
是给我的一点点麻烦.我正在尝试构建类似于此的调用:
(defpage [:post "some/url"] [data]
;; some stuff...
)
Run Code Online (Sandbox Code Playgroud)
但是,不是使用关键字:post
我想使用变量,如下所示:
(def my-method :post)
(defpage [my-method "some/url"] [data]
;; some stuff...
)
Run Code Online (Sandbox Code Playgroud)
问题是,当宏展开,它要解决的变量my-method
的compojure.core
命名空间,而不是我自己的,给我的错误:
No such var: compojure.core/MY-METHOD
Run Code Online (Sandbox Code Playgroud)
我如何强制my-method
在当前环境中解决?
在clojure中,我可以像这样构造一个地图:
(let [{:keys [key1 key2]} {:key1 1 :key2 2}]
...)
Run Code Online (Sandbox Code Playgroud)
这与CoffeeScript的方法类似:
{key1, key2} = {key1: 1, key2: 2}
Run Code Online (Sandbox Code Playgroud)
CoffeeScript也可以这样做:
a = 1
b = 2
obj = {a, b} // just like writing {a: a, b: b}
Run Code Online (Sandbox Code Playgroud)
在Clojure中有这样的捷径吗?
我从get请求中获取数据.数据(在响应正文中)看起来像这样:
... ÿÀ???"?ÿÄ??????????????ÿÄ?N??!1"AQa2q¡#BR±ð3brS²ÁÂÑá$ñCDTst¢³&45dÃÒÿÄ????????????ÿÄ?-??????!1A"Qa¡ðq±ÁÑ2áÿÚ?????û." """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """R1º#ª¥7Jíî½M6îNö ]·!]=Fvß`7~qÆee²%·JokkZüCbìþ<ù{ã9öùË®´(%A,Ià?2I?t×bn6wÆù¥V 2SÀ><k5ºÙØ92EhÎçü¨/aÝ!ã|ñþ¥ñßT}U«¦ÒÚµ«xuÕfƳ KØ {ù{ð$·DúBMZÆcp}´R|Mä2ó8üg)·ùôfõ$zXiRÞü}óÆ>,êÚûíR5ý:\ .....
Run Code Online (Sandbox Code Playgroud)
响应标头如下所示:
HTTP/1.1 200 OK
Content-Length: 26965
Access-Control-Allow-Origin: *
Content-Type: image/jpeg; charset=UTF-8
Date: Mon, 06 Feb 2012 21:14:21 GMT
Expires: Mon, 06 Feb 2012 22:14:21 GMT
Cache-Control: public, max-age=3600
Last-Modified: Fri, 13 Feb 2009 23:31:30 GMT
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Server: Dropta Server 1.0
X-Frame-Options: SAMEORIGIN
Connection: close …
Run Code Online (Sandbox Code Playgroud) 这是我的基本情况:
function somePostThing() {
return $post("/someUrl").done(doSomething);
}
function doSomething(data) {
// do stuff with the data
}
var object = {};
object.deferred = somePostThing();
// A few cycles later, object.deferred may be resolved or unresolved
object.deferred.done(function () { /* ... */ });
Run Code Online (Sandbox Code Playgroud)
最后一行可能有效,也可能无效,因为done
在已解析延迟对象的情况下不会触发.我希望能够做到这样的事情:
function doSomethingWithData(data) {
// do stuff
}
var value;
if (object.deferred.isResolved()) doSomethingWithData(object.deferred.value());
else object.deferred.done(doSomethingWithData);
Run Code Online (Sandbox Code Playgroud)
我如何获得已经解决的价值jQuery.Deferred()
?
我正在使用本地maven存储库来存储我用于开发项目的一些代码.我在我的project.clj
文件中引用了这个存储库,现在能够以这种方式依赖本地jar(如何在我之前的一个问题中执行此操作).
由于我正在积极开发这些项目,我的project.clj
文件正在寻找LATEST
版本.但是,为了更新依赖项,我仍然需要增加该依赖项的版本号,然后运行lein install
以将其构建到maven存储库.
当我构建依赖于maven repo中的东西的项目时,leiningen有没有办法做到这一点?lein可以只是寻找那些东西并根据需要重建它们吗?
这是一个非常简单的2D尝试Vec
.我正在尝试将元素添加到顶级的最后一个条目Vec
:
fn main() {
let mut vec_2d = vec![vec![]];
if let Some(v) = vec_2d.last() {
v.push(1);
}
println!("{:?}", vec_2d);
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
error[E0596]: cannot borrow `*v` as mutable, as it is behind a `&` reference
--> src/main.rs:4:9
|
3 | if let Some(v) = vec_2d.last() {
| - help: consider changing this to be a mutable reference: `&mut std::vec::Vec<i32>`
4 | v.push(1);
| ^ `v` is a `&` reference, so the data it refers to cannot be …
Run Code Online (Sandbox Code Playgroud) 这是我尝试过的:
module A
def self.method1; "method1"; end
def method2; "method2"; end
end
module B; include A; end
B.method1 # => error
B.method2 # => error
B::method1 # => error
B::method2 # => error
Run Code Online (Sandbox Code Playgroud)
我想避免在两个模块之间复制和粘贴等效代码.我在这里使用模块而不是类的原因是因为我不需要每个模块的多个实例,因为它们只是保持常量(此时其他模块).
解决这个问题的最佳方法是什么?