我想要的是:

我在一个远程站点上有一个clojure程序,让我们称它为mccarthy。 我想做的是从我的笔记本电脑连接到nrepl-ritz,最好使用nrepl-ritz-jack-in。插孔在本地程序中工作良好,但似乎不能连接到远程程序。

尝试1

C-x C-f on /mccarthy:code/program/project.clj

(需要的nrepl-ritz)

m x nrepl-ritz-jack-in

结果

Emacs似乎挂起了。如果我去到*nrepl-server*缓冲区,我看到:

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.flatland.drip.Main.invoke(Main.java:117)
    at org.flatland.drip.Main.start(Main.java:88)
    at org.flatland.drip.Main.main(Main.java:64)
Caused by: java.lang.AssertionError: Assert failed: project
    at leiningen.ritz_nrepl$start_jpda_server.invoke(ritz_nrepl.clj:23)
    at leiningen.ritz_nrepl$ritz_nrepl.doInvoke(ritz_nrepl.clj:95)

(还有很多其他的台词……)

我在我的笔记本电脑上使用了drip,而不是在mccarthy上,所以nrepl-ritz-jack-in显然没有检测到它是一个远程文件。然而,在这种情况下,常规的旧nrepl-jack-in将按预期工作。

尝试2

我还试着用莱茵写麦卡锡,开始写nrepl-ritz:

mattox@mccarthy$ lein ritz-nrepl
nREPL server started on port 42874

从我的笔记本电脑,我转发一个端口,使本地42874连接到麦卡锡的42874:

ssh -L 42874:localhost:42874 -N mccarthy

然后,从我本地的Emacs:

(require 'nrepl-ritz)

m x nrepl

主持人:127.0.0.1

端口:42874

这给了我一个联系:

; nREPL 0.1.7-preview
user> 

为了验证,我跑了

m x nrepl-ritz-threads

它给了我一个很好的线程表。

m x nrepl-ritz-break-on-exception

user> (/ 1 0)

结果

这会挂起,但有时会显示一个隐藏的调试缓冲区,其中有一些重启可用。如果我告诉它将异常传递回程序,它永远不会将控制权交还给REPL。

我已经做了大量的搜索,但没有能够得到任何更具体的比“确保lein在你的路径上”(我确实这样做了,在两台机器上…)

我在Windows上运行Ruby,虽然我不知道这是否有什么不同。我所要做的就是获取当前工作目录的绝对路径。这可能从irb吗?显然,在脚本中可以使用File.expand_path(__FILE__)

但是从irb,我尝试了以下,得到了一个“权限被拒绝”错误:

File.new(Dir.new(".").path).expand

我在Windows上运行Ruby,虽然我不知道这是否有什么不同。我所要做的就是获取当前工作目录的绝对路径。这可能从irb吗?显然,在脚本中可以使用File.expand_path(__FILE__)

但是从irb,我尝试了以下,得到了一个“权限被拒绝”错误:

File.new(Dir.new(".").path).expand

对于所有默认输入,您填写的文本从左侧开始。怎么让它从右边开始?

我有一个字符串,表示一个整数值,并希望将其转换为int。groovy中是否有类似于Java的Integer.parseInt(String)?

有没有这样的写作方法:

public async Task<SomeResult> DoSomethingAsync()
{
    // Some synchronous code might or might not be here... //
    return await DoAnotherThingAsync();
}

而不是这样:

public Task<SomeResult> DoSomethingAsync()
{
    // Some synchronous code might or might not be here... //
    return DoAnotherThingAsync();
}

有意义吗?

为什么使用返回等待构造时,你可以直接返回任务<T>从内部DoAnotherThingAsync()调用?

我在很多地方看到等待返回的代码,我想我可能错过了一些东西。但据我所知,在这种情况下不使用async/await关键字,直接返回任务在功能上是等效的。为什么要增加额外等待层的额外开销?

我在学习Scala游戏框架教程时,遇到了这样一段让我困惑的代码:

def newTask = Action { implicit request =>
taskForm.bindFromRequest.fold(
        errors => BadRequest(views.html.index(Task.all(), errors)),
        label => {
          Task.create(label)
          Redirect(routes.Application.tasks())
        } 
  )
}

所以我决定调查一下,看到了这个帖子。

我还是不明白。

这两者的区别是什么:

implicit def double2Int(d : Double) : Int = d.toInt

and

def double2IntNonImplicit(d : Double) : Int = d.toInt

除了它们有不同的方法名之外。

什么时候应该使用隐式,为什么?

我在Jenkinsfile (Groovy)上有类似的东西,我想在一个变量中记录标准输出和退出码,以便以后使用这些信息。

sh "ls -l"

我该如何做到这一点呢,特别是当您似乎无法在Jenkinsfile中真正运行任何类型的groovy代码时?

我需要从文件系统中读取一个文件,并将整个内容加载到groovy控制器中的字符串中,最简单的方法是什么?

Ruby的例子:

name = "Spongebob Squarepants"
puts "Who lives in a Pineapple under the sea? \n#{name}."

成功的Python字符串连接对我来说似乎很冗长。