使用文本编辑器的Ruby控制台应用

时间:2010-10-26 18:03:50

标签: ruby linux rubygems

我正在使用Ruby构建一个控制台应用程序。我希望它做的一件事是编辑文本文件。令我印象深刻的是,最合理的做法是启动用户设置的任何默认编辑器 - nano,vi,emacs ......让用户决定。我想将它传递给将要创建/编辑的文件的名称。

我研究了各种方法,包括像这样的反引号:

response = `nano *nameoffile*`

我也尝试过使用POpen4 Ruby gem,它似乎也没有做任何事情。

我怀疑这些方法严格适用于立即返回结果的常见非shell类应用程序,而像nano这样的编辑器需要不同的技术?非常感谢您的反馈!

干杯,

亚伦。

3 个答案:

答案 0 :(得分:2)

您可能需要查看interactive_editor,他们会这样做。

答案 1 :(得分:1)

您也可以使用

system "nano #{your_file_name}"

答案 2 :(得分:0)

围绕使用exec()或system()或反引号``启动交互式进程(如文本编辑器)进行了很好的讨论

here

如果你想深入了解popen4(事实上某事,虽然不适合所有情况),例如优点和不便之处,它也有信息

相关问题