ace*_*ace -5 user-interface scala
Groovy有一个很好的GUI控制台,我可以在其中输入任何java/groovy代码并运行.这与groovy一起分发.
至于我知道除了REPL之外,Scala没有这样的东西.
是否有任何第三方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
}
Run Code Online (Sandbox Code Playgroud)
在Groovy Console(这是一个完整的GUI)中,我可以轻松地复制和粘贴上面的程序.我可以轻松地在GUI中修改程序并快速点击运行按钮并快速查看结果.我甚至可以轻松地复制和粘贴结果并将其发布到其他地方.我可以轻松地从其他地方复制Scala代码行并复制到GUI控制台并点击运行按钮,我也可以将某些jar复制到Groovy控制台类路径中的位置,依此类推,并列出很多更多功能.
你能在REPL中做到这一点,还是可以使用其他工具?
Rex*_*err 13
对于你正在谈论的那种探索性编码,你应该看看Kojo.只需忽略设计用于教孩子如何编程的部分(例如拖动龟窗口和其余部分之间的边界,直到它尽可能小),你会发现你有一个完整的GUI,语法高亮,所有的东西都是让您只需按一下按钮(或两次按键盘键)即可运行代码.或者你可能想用龟来做绘图,给出你给出的例子.
您可能也对ScalaConsole或Scalide感兴趣.