【发布时间】:2014-05-11 14:46:10
【问题描述】:
我在 Julia 中有一段代码,其中求解器在寻找非常复杂问题的解决方案时会进行多次迭代。目前,我必须为代码提供多次迭代,设置足够低以至于我不必等待数小时让代码停止以保存当前状态,但足够高以至于我不需要必须保持每 5 分钟激活一次代码。
在 Julia (0.2) 的当前状态下,有没有办法检测一个击键,指示代码要么不保存就结束(以防出现问题),要么以保存结束?我需要一种方法,这样代码将继续畅通无阻,除非发生这样的击键事件,并且在任何迭代时都会中断。
本质上,我正在寻找一个命令,如果发生击键(当 Julia 正在运行的终端具有焦点时),它将读取击键,如果击键是特定键,则运行某些代码。这可能吗?
注意:我在 Xubuntu 上通过 xfce4-terminal 运行 julia,以防影响所需的命令。
【问题讨论】:
-
你想做的是终端编程领域。它通常涉及修改当前的 tty,然后监听击键。我不知道 julia 中的任何软件包目前可以让你这样做。
-
我找到了一种通过 Tk GUI 实现实现我想要的结果的方法,其中“保存”触发代码在下一次迭代中停止,“取消”触发错误以停止代码而不保存。我没有回答这个问题,因为我的解决方案没有提供检测击键的方法,并且需要为 Julia 提供击键检测方法。