小编Jac*_*and的帖子

ClassCastException java.lang.Long无法强制转换为clojure.lang.IFn

我有一个功能,需要多少年和工资,然后递归加倍工资,直到几年用尽.但是,我不断收到此错误:

ClassCastException java.lang.Long无法强制转换为clojure.lang.IFn

代码

(defn calculate-salary
    [years salary]
    (if (= years 0)
        (salary)
        (calculate-salary (- years 1) (* salary 2))))
Run Code Online (Sandbox Code Playgroud)

我对Clojure很新,所以我确信它很简单,但我似乎无法弄明白.

clojure

33
推荐指数
3
解决办法
2万
查看次数

Clojure REST API框架

我是一名Python开发人员,他正在深入研究Clojure并决定采用一个真正的项目是他们最好的入门方式(在学习语法之后).我决定为我正在开发的项目构建一个REST API.值得了解的事情:

  • 数据库已存在.
  • 模式已经定义,实现并填充了数据.
  • 应用程序的Web部分是用Django编写的,它直接与DB通信.
  • 数据库是MySQL.

所以我的问题是,2014年底在Clojure中创建REST API的最佳框架是什么?到目前为止,我遇到了CaribouLiberator,但不知道如何评估哪个更好(作为Clojure noob).

rest clojure

26
推荐指数
1
解决办法
1万
查看次数

使用PHP绑定到LDAP服务器时需要帮助忽略服务器证书

我正在尝试使用PHP绑定到LDAP服务器.这是一个相当简单的过程,除了我无法绕过我得到的证书错误.我的身份验证凭据很好,因为我可以使用Apache Directory Studio连接到服务器.有没有办法自动接受服务器证书?与您如何使用Apache directory studio单击"Accept this cert .."类似?我知道这不是很好的安全性,但我只需要让它在这一点上工作,并且可以在以后解决证书问题.

谢谢

php ldap

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

如何在Clojure中捕获CTRL + C?

我有一个简单的单线程Clojure程序,它创建一个用于交换数据的临时文件.当程序正常退出时,该文件将被删除,但是当程序通过Ctrl+ C,Ctrl+ DCtrl+ 退出时,Z该位代码将永远不会执行.我需要它来执行程序退出的方式.我知道我需要捕捉到这个信号(我以前用其他语言做过),但我似乎无法弄清楚如何在Clojure中做到这一点.

signals clojure

16
推荐指数
1
解决办法
3360
查看次数

用"\n"替换"\ r \n"

我有一些文本数据打印出实际字符"\ r \n"(总共四个字符).我想用单个"\n"字符替换这四个字符,但我似乎无法让Python为我做这件事.我正在尝试:

mytext.replace("\r\n", "\n")
Run Code Online (Sandbox Code Playgroud)

但那只打印出"\n"(两个字符,而不是一个).我觉得我可能错过了一些明显的东西,但任何帮助都会受到赞赏.

python

14
推荐指数
3
解决办法
3万
查看次数

无法在Xcode 4中选择任何代码签名身份

我已经尝试过,但由于某种原因,我无法在Xcode 4.1中选择任何代码签名身份.当我单击它时,它只是呈现文本输入.我通过组织者和配置文件安装了开发人员配置文件以匹配它.我已经完全删除了xcode并重新安装了它.

思考?

xcode

10
推荐指数
1
解决办法
2844
查看次数

使用Hiccup和Compojure编写模板

我对Clojure和Compojure Web开发相对较新.在我正在构建的玩具示例中,我注意到的第一个问题是HTML模板.我想支持Rails中的partials或Django使用的模板框架.

目前我有:

(defn index-page []
(html5
    [:head
        [:title "Home | Compojure Docs"]
        (include-css "/css/bootstrap.min.css")
        (include-css "/css/bootstrap-responsive.min.css")]
    [:body
        [:div {:class "container-fluid"}
            [:div {:class "row-fluid"}
                [:div {:class "span2 menu"}]
                [:div {:class "span10 content"}
                    [:h1 "Compojure Docs"]
                    [:ul
                        [:li
                            [:a {:href "/getting-started"} "Getting Started"]]
                        [:li
                            [:a {:href "/routes-in-detail"} "Routes in Detail"]]
                        [:li
                            [:a {:href "/destructuring-syntax"} "Destructuring Syntax"]]
                        [:li
                            [:a {:href "/nesting-routes"} "Nesting Routes"]]
                        [:li
                            [:a {:href "/api-documentation"} "API Documentation"]]
                        [:li
                            [:a {:href "/paas-platforms"} "PaaS Platforms"]]
                        [:li
                            [:a {:href "/example-project"} "Example Project"]]
                        [:li …
Run Code Online (Sandbox Code Playgroud)

clojure compojure hiccup

7
推荐指数
1
解决办法
4182
查看次数

访问Sublime Text 2插件中的快速面板

我正在学习如何创建Sublime Text 2插件.我想做的其中一件事是采取任何突出显示的文本,检查网站是否会返回该地址200,然后将一些信息放入快速面板(是的,我知道我应该做的网址在线程中查找,以便它不会阻止主UI).目前我有:

import sublime
import sublime_plugin
import urllib2

class CheckUrlPanel(sublime_plugin.WindowCommand):

def quick_panel(self, messages, flags):
    self.window.show_quick_panel(messages, None, flags)

class CheckUrlsCommand(sublime_plugin.TextCommand):

def run(self, edit):
    urls = []
    selections = self.view.sel()
    for selection in selections:
        urls.append(self.view.substr(selection))

    messages = self.validate_urls(urls)
    panel = CheckUrlPanel()
    panel.quick_panel(messages, sublime.MONOSPACE_FONT)

def validate_urls(self, urls):
    messages = []
    for url in urls:
        try:
            request = urllib2.Request(url, headers={ "User-Agent" : "Sublime URL Checker" }) 
            response = urllib2.urlopen(request, timeout=3)
            message = '"%s" is a valid URL.' % url
        except Exception as (e): …
Run Code Online (Sandbox Code Playgroud)

python sublimetext2

6
推荐指数
1
解决办法
4788
查看次数

在Microsoft Graph/me/drive/search endpoint中发现结果

我很难弄清楚/me/drive/search端点如何与文档匹配.

当我尝试/v1.0/me/drive/search(q='myQuery')接收名称的文件时myQuery.这是有道理的.没有意义的是,如果尝试/v1.0/me/drive/search(q='.')我收到来自整个组织的巨大结果列表.看来我可以访问这些文档,但是当我尝试按名称搜索其中一个时,它们就不会出现.

  • /v1.0/me/drive/search(q='.') 返回许多文档,其中一个文档名为"我的测试文档"

  • /v1.0/me/drive/search(q='My Test Document') 没有结果.

可以预期第二个查询返回与第一个查询相同的文档.

onedrive microsoft-graph

6
推荐指数
1
解决办法
179
查看次数

为Python subprocess.Popen打印执行的命令

我有一个脚本,可以自动在多个git存储库上重写作者.

def filter_history(old, new, name, repoPath):

command = """--env-filter '
        an="$GIT_AUTHOR_NAME"
        am="$GIT_AUTHOR_EMAIL"
        cn="$GIT_COMMITTER_NAME"
        cm="$GIT_COMMITTER_EMAIL"

        if [[ "$GIT_COMMITTER_NAME" = "|old|" ]]
        then
            cn="|name|"
            cm="|new|"
        fi

        if [[ "$GIT_AUTHOR_NAME" = "|old|" ]]
        then
            an="|name|"
            am="|new|"
        fi

        export GIT_AUTHOR_NAME="$an"
        export GIT_AUTHOR_EMAIL="$am"
        export GIT_COMMITTER_NAME="$cn"
        export GIT_COMMITTER_EMAIL="$cm"
'
"""

#DO string replace
command = command.replace("|old|", old)
command = command.replace("|new|", new)
command = command.replace("|name|", name)

print "git filter-branch -f " + command

process = subprocess.Popen(['git filter-branch -f', command],cwd=os.path.dirname(repoPath), shell=True)
process.wait()
Run Code Online (Sandbox Code Playgroud)

该命令执行正常,但告诉我在repo历史记录中没有任何变化.但是,如果我接受打印出来的命令(应该是正在执行的命令),将其放在shell脚本中并执行它,它会改变历史记录.我认为该命令在某种程度上没有被正确执行.有没有办法可以确切地看到子进程模块正在执行什么命令?

python

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