【发布时间】:2016-02-11 07:25:50
【问题描述】:
我已经向maven Java 项目1 添加了一个REPL(读取评估打印循环),该项目是用maven 构建的。 REPL can be started with a script。相关部分是
declare -r GRADLE_CLASSPATH="$(gradle :minidns-repl:printClasspath --quiet |tail -n1)"
java \
-Dscala.usejavacp=true \
-classpath "${GRADLE_CLASSPATH}" \
scala.tools.nsc.MainGenericRunner \
-i minidns-repl/scala.repl
到目前为止,这有效。使 REPL 完美的唯一缺少的是 tab 补全。我从 Scala 知道它确实支持这一点。
如何为MainGenericRunner启用它?
1:随意测试 REPL:
git clone https://github.com/rtreffer/minidns.git \
&& cd minidns \
&& ./repl`
然后执行 DNS 查询,例如c.query("wikipedia.org", TYPE.A)
【问题讨论】:
-
它做得很差。要正确完成选项卡,请查看lihaoyi.github.io/Ammonite/#Ammonite-REPL
-
我刚刚切换了 Ammonite REPL,并且制表符完成工作开箱即用。见github.com/rtreffer/minidns/commit/…请把这个作为答案,这样你就可以收集你的赏金了:)
-
啊,一秒钟,我知道在尝试调用方法时会出错:“Main.scala:11:内部重命名了两次 import ammonite.repl.frontend.ReplBridge.repl.{”跨度>
-
当您导入 import de.measite.minidns._ 时,它会导入 'repl' 对象,之后菊石会失败。要么不要使用通配符导入,要么重命名 de.measite.minidns.repl,直到 ammonite 被修复。
标签: scala read-eval-print-loop