小编Chr*_*Bui的帖子

如何使用emacs设置Clojurescript REPL?

我正在尝试为Clojurescript设置一个环境.我遇到的问题是不知道如何设置它以便我可以从emacs连接到Clojurescript Browser REPL,因此我可以直接从编辑器评估表单并将其显示在浏览器中.

我试过的事情:

我尝试使用Cemerick的piggieback并搭载nREPL.我真的不知道如何从文档中配置它.在弄清楚我必须在项目文件夹的根目录中创建一个index.html文件后,我才能使它工作.除了服务器不提供我的资产.

我尝试使用Clojurescript wiki中的bash脚本设置inferior-lisp.但是,每当我尝试运行劣质lisp程序时,我都会遇到"错误的类型参数:stringp,nil".

这是我理想的工作流程:

我有一个项目文件夹/ resources/public文件夹,其中包含我的资产和html文件.我可以通过响铃或使用python的简单http服务器启动一个以某种方式提供这些文件的Web服务器.我可以从emacs连接到REPL并将表单评估到其中.

read-eval-print-loop clojurescript

25
推荐指数
1
解决办法
5490
查看次数

为什么Ring中间件的顺序需要颠倒?

我正在为Ring编写一些中间件,我真的很困惑为什么我必须颠倒中间件的顺序.

我找到了这篇博文,但它没有解释为什么我要扭转它.

以下是博客文章的快速摘录:

(def app
  (wrap-keyword-params (wrap-params my-handler)))
Run Code Online (Sandbox Code Playgroud)

答复是:

{; Trimmed for brevity
 :params {"my_param" "54"}}
Run Code Online (Sandbox Code Playgroud)

请注意,没有调用wrap关键字params,因为params hash还不存在.但是当你颠倒中间件的顺序时:

(def app
  (wrap-params (wrap-keyword-params my-handler)))

{; Trimmed for brevity
 :params {:my_param "54"}}
Run Code Online (Sandbox Code Playgroud)

有用.

有人可以解释为什么你必须颠倒中间件的顺序?

clojure ring

16
推荐指数
3
解决办法
3375
查看次数

如何在活跃中使用代码段?

我是一个Rails开发人员在Clojure中弄湿我的脚.我正在尝试用ERB做一些非常简单的事情,但我无法在生活中把它弄清楚.

假设我在layout.html中有一个简单的网站布局文件:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我有这些片段,例如header.html和footer.html以及这条简单的路线.

(deftemplate layout "layout.html" [])

(defroutes home-routes
  (GET "/" [] layout))
Run Code Online (Sandbox Code Playgroud)

如果请求转到"/",我怎样才能改变布局并将页眉和页脚片段插入其中?

clojure templating compojure enlive

9
推荐指数
1
解决办法
2896
查看次数

总是使用"这个"或仅在必要时更清楚吗?

可能重复:
Java - 何时使用'this'关键字

一些开发人员喜欢在引用对象的方法和属性时总是使用"this",即使不需要它也是如此.这是一个非常简单的例子:

public class Foo {

    private String id;

    public Foo() {
        this.id = "123456789";
    }

}
Run Code Online (Sandbox Code Playgroud)

总是使用"这个"或仅在必要时才更清楚吗?在任何情况下你应该经常使用它吗?

java

7
推荐指数
2
解决办法
7964
查看次数

Capistrano 3没有部署新代码

我在Capistrano 3中遇到这个奇怪的问题。除非我删除服务器上我的应用程序文件夹中的repo文件夹,否则它所部署的代码永远不会更新。如果删除repo文件夹并进行部署,它将更新代码。

# config valid only for Capistrano 3.1
lock '3.1.0'

set :application, 'APP_NAME'
set :repo_url, 'REPO'

# Default branch is :master
# ask :branch, proc { `git rev-parse --abbrev-ref HEAD`.chomp }

# Default deploy_to directory is /var/www/my_app
set :deploy_to, '/home/deployer/apps/APP_NAME'

# Default value for :scm is :git
set :scm, :git

set :branch, "master"

# Default value for :format is :pretty
set :format, :pretty

# Default value for :log_level is :debug
set :log_level, :info

# Default value for :pty is …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails capistrano3

5
推荐指数
1
解决办法
280
查看次数

sizeof(char*)做什么?

我正在阅读c ++ Primer,这个代码片段出现了,我想知道sizeof(char*)做了什么,为什么它如此重要?

 char *words[] = {"stately", "plump", "buck", "mulligan"};

 // calculate how many elements in words
 size_t words_size = sizeof(words)/sizeof(char *);

 // use entire array to initialize words2
 list<string> words2(words, words + words_size);
Run Code Online (Sandbox Code Playgroud)

提前致谢.

c++

2
推荐指数
2
解决办法
753
查看次数

C++中的矢量范围

另一个快速问题,我有这个代码:

  string sa[6] = {
         "Fort Sumter", "Manassas", "Perryville",
         "Vicksburg", "Meridian", "Chancellorsville" };
  vector<string> svec(sa, sa+6);
  for (vector<string>::iterator iter = svec.begin(); iter != svec.end(); iter++)
  {
          std::cout << *iter << std::endl;
  }
Run Code Online (Sandbox Code Playgroud)

为什么当我执行svec(sa,sa + 7)时,代码可以工作,但是在最后一个单词之后打印出一个空行,当我执行sa + 8而不是崩溃时?因为字符串数组只有6个元素大,不应该在sa + 7时崩溃吗?

谢谢.

c++

1
推荐指数
3
解决办法
186
查看次数