我想使用ruby,并在一瞬间打开另一个程序(cfdisk),让用户与它进行交互,然后返回我的代码
我可以使用
exec "cfdisk; ruby another.rb"
但这是很棘手的事情,当然不是正确的选择
我了解Open3
,但我不知道如何在用例中正确使用它。我知道,当我在Windows的irb上使用capture3
时,它说:
[“在虚拟控制台上运行,启用256 /真彩色支持\ n”,“不支持屏幕尺寸28640x499;限制为500x500。\ n请检查TERM环境变量。\ n”,#]
在Arch中,它打开了它,但是没有图形输出,注册了击键,它们可以工作(例如mc退出并显示F10),但是窗口不在那里,只是光标闪烁。
分手立即退出
尝试过popen3,但我也没有运气
答案 0 :(得分:0)
在这种情况下,system
有什么问题?
exec
ruby命令将替换正在运行的进程,因此它不会返回您的代码。Open3
库。这不是您想要的吗?
puts "here"
system "cfdisk"
puts 'there'
如果您遇到一些与屏幕相关的问题,则可以使用环境变量中的其他TERM
值解决此问题。