为什么要编译这段代码:
triples( [], _,_,_)->
[];
triples( Self, X, Y, none )->
[ Result || Result = { X, Y, _} <- Self ].
Run Code Online (Sandbox Code Playgroud)
报告:
./simple_graph.erl:63: Warning: variable 'X' is unused
./simple_graph.erl:63: Warning: variable 'Y' is unused
./simple_graph.erl:64: Warning: variable 'X' is unused
./simple_graph.erl:64: Warning: variable 'X' shadowed in generate
./simple_graph.erl:64: Warning: variable 'Y' is unused
./simple_graph.erl:64: Warning: variable 'Y' shadowed in generate
Run Code Online (Sandbox Code Playgroud)
并返回错误的结果:完全自我.
我从Windows迁移,并听说Linux程序员不使用IDE来开发程序,比如Visual Studio.这句话是真的吗?Linux程序员是否使用IDE进行实际开发?
谢谢.
我看到我可以像这样用rspec测试路由:
get("/").should route_to("welcome#index")
Run Code Online (Sandbox Code Playgroud)
但我有基于主机名或部分主机名的约束,以及几个主机名之间的重定向.如何在测试时指定主机名?
如何使用正确的配置运行测试?我尝试打印root_url,我得到了:
缺少主机链接!请提供:host参数,设置default_url_options [:host],或将:only_path设置为true
有没有办法从命令行检查用户和密码来检查由Apache提供的工具htpasswd创建的文件?
我使用Bootstrap 3有这个非常简单的代码:
<html>
<body>
<main class="container" role="main">
<form class="simple_form form-horizontal">
<div class="form-group text required campaign_url">
<label class="text required control-label" for="campaign_url"><abbr title="required">*</abbr> Url</label>
<textarea class="text required form-control" name="campaign[url]" id="campaign_url"></textarea>
</div>
Run Code Online (Sandbox Code Playgroud)
它看起来像这样:

注意标签和输入是如何粘在左边的.检查这些元素我发现了这个:
.form-horizontal .form-group {
margin-left: -15px;
margin-right: -15px;
}
Run Code Online (Sandbox Code Playgroud)
那为什么?我知道移除它是微不足道的,但它让我想知道我使用Bootstrap的方式是否错误.我该怎么用?
我正在编写一个Java库,实际上是一个Clojure库,但对于这个问题,重要的是它在JVM上运行.这个库需要执行一些JavaScript.我试过Nashorn但我遇到了一些可能难以克服的限制.作为替代方案,我想尝试NodeJS.
我希望我的库是自包含的,不依赖于独立运行NodeJS的系统,因此需要特定的部署机制将Java和NodeJS工件放在正确的位置以便由两个不同的网络服务器拾取.但是,这种方法带来了一些问题.
我将通过HTTP与NodeJS交谈,但我不希望NodeJS打开特定端口.我想找一个随机未使用的,所以没有碰撞.我还想控制来自NodeJS的日志的位置,以便将它们与我的应用程序的其余部分保持一致.最后,我的应用程序应该能够检测到NodeJS何时崩溃并重新运行它或报告错误信息.
什么是最好的方法来解决这个问题?是否有任何Java库以这种方式帮助管理子进程?我应该从NodeJS方面做一些特别的事情(我是NodeJS的新手,我之前从未使用过它).
有一个相对路径,如何从我正在加载的elisp文件的位置将其转换为绝对路径.也就是说,我有一个我正在加载的elisp文件,它有一个相对路径,我需要一个绝对的路径.
我需要将文件从一个载波对象复制到另一个载波对象.它们是不同的表格和不同类型的上传者.
我开始时:
user.avatar = image.content
Run Code Online (Sandbox Code Playgroud)
(其中用户和图像是模型实例,头像和内容是载波装载的上载器),有时可以工作.它似乎一直在本地工作,有文件存储,但在使用雾和s3时间歇性.
在邮件列表帖子中,我找到了这段代码:
user.avatar = image.content.file
Run Code Online (Sandbox Code Playgroud)
那时候又有效了.
到目前为止,我的工作方案是:
require "open-uri"
begin
user.avatar = open(image.url)
rescue Errno::ENOENT => e
begin
user.avatar = open(image.path)
rescue Errno::ENOENT => e
# Ok, whatever.
end
end
Run Code Online (Sandbox Code Playgroud)
这不仅难看,而且无法通过扩展验证,因为远程文件的打开不能保持扩展名(jpg,png等).
在我正在构建的小应用程序中使用Reagent和Re-frame我正在使用多方法来调度哪个页面应该根据app状态中的值显示:
(defmulti pages :name)
(defn main-panel []
(let [current-route (re-frame/subscribe [:current-route])]
(fn []
;...
(pages @current-route))))
Run Code Online (Sandbox Code Playgroud)
然后我有方法,如:
(defmethod layout/pages :register [_] [register-page])
Run Code Online (Sandbox Code Playgroud)
在register-page功能会产生实际的观点:
(defn register-page []
(let [registration-form (re-frame/subscribe [:registration-form])]
(fn []
[:div
[:h1 "Register"]
;...
])))
Run Code Online (Sandbox Code Playgroud)
我尝试更改我的应用程序,以便方法直接生成页面,如:
(defmethod layout/pages :register [_]
(let [registration-form (re-frame/subscribe [:registration-form])]
(fn []
[:div
[:h1 "Register"]
;...
])))
Run Code Online (Sandbox Code Playgroud)
这导致没有任何页面被渲染.在我的主面板中,我将调用更改pages为方括号,以便Reagent可以看到它:
(defn main-panel []
(let [current-route (re-frame/subscribe [:current-route])]
(fn []
;...
[pages @current-route])))
Run Code Online (Sandbox Code Playgroud)
这导致第一个访问过的页面工作,但在此之后,单击链接(导致当前路由更改)无效.
在首先加载的文件中需要定义各个方法的所有命名空间,其中包含init函数,以及我可以选择任何单个页面并显示它的事实证明代码正在加载(然后,切换到另一个页面没有工作):
https://github.com/carouselapps/ninjatools/blob/master/src/cljs/ninjatools/core.cljs#L8-L12
在努力调试这是怎么回事,我定义了两个路线,:about以及 …