是否可以从命令行下载并运行GUI Scala Console?

时间:2011-06-16 10:35:04

标签: 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
}

在Groovy Console(这是一个完整的GUI)中,我可以轻松地复制和粘贴上面的程序。我可以轻松地在GUI中修改程序并快速点击运行按钮并快速查看结果。我甚至可以轻松地复制和粘贴结果并将其发布到其他地方。我可以轻松地从其他地方复制Scala代码行并复制到GUI控制台并点击运行按钮,我也可以将某些jar复制到Groovy控制台的类路径中的位置等等以及更多功能的长列表中。

您可以在REPL中执行此操作,还是可以使用其他工具?

3 个答案:

答案 0 :(得分:13)

对于您正在讨论的那种探索性编码,您应该查看Kojo。只需忽略设计用于教孩子如何编程的部分(例如拖动龟窗口和其余部分之间的边界,直到它尽可能小),你会发现你有一个完整的GUI,语法高亮,所有的东西都是让您只需按一下按钮(或两次按键盘键)即可运行代码。或者你可能想用乌龟来做绘画,给出你给出的例子。

您可能也对ScalaConsoleScalide感兴趣。

答案 1 :(得分:2)

您肯定在寻找Integrated Development Environment

这些IDE的插件:

我个人最喜欢的是使用带有SBT的简单文本编辑器,您可以使用例如:

答案 2 :(得分:1)

无论值得什么,如果你不想尝试摇摆的东西,你甚至可以选择Simply Scala