Ruby консольное приложение с использованием текстового редактора? - PullRequest
0 голосов
/ 26 октября 2010

Я создаю консольное приложение на Ruby.Одна из вещей, которые я хотел бы сделать, это редактировать текстовые файлы.Мне кажется, что наиболее разумным вариантом было бы запустить любой редактор по умолчанию, который пользователь установил - nano, vi, emacs ... пусть пользователь сам решит.Я хотел бы передать ему имя файла, который будет создан / отредактирован.

Я исследовал различные методы, в том числе обратные пометки, например:

response = `nano *nameoffile*`

И я 'Мы также пытались использовать гем POpen4 Ruby, который, похоже, тоже ничего не делает.

Я подозреваю, что эти методы предназначены исключительно для обычных приложений, не относящихся к оболочке, которые сразу же возвращают результат, и редакторов, таких как nanoТребуется другая техника?Ваше мнение очень ценится!

Приветствия,

Аарон.

Ответы [ 3 ]

2 голосов
/ 26 октября 2010

Возможно, вы захотите взглянуть на interactive_editor, они делают что-то подобное.

1 голос
/ 26 октября 2010

Также вы можете использовать

system "nano #{your_file_name}"
0 голосов
/ 15 марта 2011

Существует хорошее обсуждение использования exec () или system () или обратных клавиш `` для запуска интерактивных процессов (например, текстового редактора)

См. здесь

В нем также есть информация, если вы хотите углубиться в popen4 (которая на самом деле делает что-то, хотя и не подходит для всех ситуаций), например, преимущества и недостатки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...