Groovy有一个很好的GUI控制台,我可以在其中输入任何java/Groovy代码并运行。这是用groovy分发的。
据我所知,Scala除了REPL之外没有其他类似的东西。
有没有第三方Scala GUI控制台,我可以从命令行下载、安装和运行,而不是从使用webstart的JNLP文件下载和安装和运行?
一个用例:
假设我有Scala程序:
val lineWidth = 2.5
val axisWidth = 1.5
val white = ConstVec3(1)
val background = white
val axisColor = ConstVec3(0)
drawFunction("Plot") { (dims, pixel) =>
val mid = dims/2.0
val p = pixel - mid
val color: Vec3 = background
color *= {
val shade = clamp(abs(p.x)/axisWidth, 0, 1)
mix(axisColor, background, shade)
}
color *= {
val shade = clamp(abs(p.y)/axisWidth, 0, 1)
mix(axisColor, background, shade)
}
color *= {
val scale = 2/mid.x
val x = p.x*scale
val y = p.y*scale
val f = smoothstep(-1, 1, x)
val shade = clamp(abs(f - y)/(scale*lineWidth), 0, 1)
mix(Vec3(1, 0, 0), Vec3(1), shade)
}
color
}
在Groovy控制台(这是一个完整的GUI)中,我可以很容易地复制和粘贴上面的程序。我可以很容易地在GUI中修改程序,并快速点击运行按钮,快速看到结果。我甚至可以很容易地复制粘贴结果并将其发布到其他地方。我可以很容易地从其他地方复制Scala代码行,并复制到GUI控制台中,然后点击运行按钮,我还可以将某些jar复制到Groovy控制台的类路径中的一个位置,等等,还有很多其他功能。
你能在REPL中做到这一点吗?或者有其他工具可以使用吗?
对于您正在讨论的探索性编码,您应该查看Kojo。只需忽略为教孩子们如何编程而设计的部分(例如,拖动乌龟窗口和其他窗口之间的边界,直到它尽可能小),你就会发现你有一个完整的GUI,它具有语法高亮显示功能,以及所有可以让你只需按下一个按钮(或两次按下键盘)即可运行代码的功能。或者,根据你举的例子,你可能想用乌龟来画画。
您可能还对ScalaConsole或Scalide感兴趣。
您肯定在寻找一个集成开发环境。
有一个插件用于论文IDE:
- Eclipse
- IntelliJ IDEA
我个人最喜欢的是使用SBT的简单文本编辑器,例如:
- VIM
- Emacs
不管有什么价值,如果你不想尝试摇摆的东西,你甚至可以选择Simply Scala。