gpt4 book ai didi

Scala REPL 自动退出

转载 作者:行者123 更新时间:2023-12-01 09:03:36 25 4
gpt4 key购买 nike

Scala REPL 的行为很奇怪,或者这可能是预期的行为。当我创建一个 MainFrame 对象并将其可见性设置为 true 时,会显示一个窗口。但是,如果我关闭窗口,Scala REPL 会退出到终端。示例 session :

 ~$ scala
scala> import swing._
scala> val frame = new MainFrame()
scala> frame.visible = true
~$ //when I close the window

我在 kubuntu 上使用 scala 2.9.1

最佳答案

这是MainFrame类本身,再加上 System.exit 的不太面向对象的行为.

这是MainFrame的全部来源:

class MainFrame extends Frame {
override def closeOperation() { sys.exit(0) }
}

看那个,很明显,当窗口关闭时, System.exit被调用,JVM 将退出。

如果您在发现此问题时只是在进行试验,则解决方法是不要这样做!如果你想在 REPL 中使用一个框架,那么你可以覆盖 closeOperation不退出 JVM - 或者只是使用 Frame (因为 MainFrame 的唯一附加功能是 JVM 退出行为)。

关于Scala REPL 自动退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7321315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com