退出鞋应用程序打破了我的循环!我该如何预防呢?



我有一个command_line (shell) loop,等待用户输入字符。根据用户类型的不同,会发生不同的事情,但循环将一直持续下去,直到用户输入"quit"。对于一个命令,我希望打开一个鞋子应用程序。打开工作正常,但当我关闭它时,循环中断,过程结束。我不希望这个过程就此结束。它看起来像这样…

def mainLoop()
  loop do
    print "Input word: "
    word = gets.chomp.split(' ')
    if word.length == 0
      launchShoesApp(word[0])
    end
    ...
  end
end
def create_gui(graph)
  Shoes.app { button "Push me" }
end

当鞋子。app GUI关闭,整个进程关闭。我该如何预防呢?

我建议将命令行ruby脚本代码和Shoes脚本代码分开放在不同的文件中例如:

#command-line.rb
def mainLoop()
 loop do
  print "Input word: "
  word = gets.chomp.split(' ')
  if word.length == 0
   #launchShoesApp(word[0])
   Process.spawn("ruby shoes-gui.rb") 
   # this will spawn up a process (opening your shoes app) without blocking this ruby script.
  end
 end  
end

,

#shoes-gui.rb
require 'green_shoes'
Shoes.app { button "Push me" }

确保两个文件都在同一个文件夹中。同时确保你已经安装了green_shoes gem。如果您对green_shoes不满意,只想使用红色的鞋子,那么您可以更改系统命令

from:
'ruby shoes-gui.rb'
to:
'yourpath/to/shoes shoes-gui.rb'

通常你会在home/username/找到shoes可执行文件。

如果你使用的是linux系统,在C盘的某个地方可以看到shoes/federales/shoes

这应该很可能工作(我在我的机器上测试了它)。希望能有所帮助:)

相关内容

  • 没有找到相关文章

最新更新