Я ищу, чтобы разрешить пользователям редактировать существующую строку.
Edit the following string: Edit me
# After user delete and add characters
Edit the following string: Edit you
Я думал предварять некоторые данные в $ но стандартный ввод кажется, что это не возможно, и в любом случае ИМХО это слишком радикальное решение.
Кто-то сказал мне использовать Ruby-оболочку GNU Readline, поэтому я быстро просмотрел, и я нашел Readline#pre_input_hook
, который действует до того, как Readline начнет принимать входные данные.
Я пробовал:
require 'readline'
Readline.pre_input_hook = -> { "Edit me" }
result = Readline.readline("Edit the following string: ")
puts result
Но, похоже, не работает.
Я не понимаю вопроса. Что вы пытаетесь достичь здесь? Каков желаемый пользовательский интерфейс (ввод/вывод)? –
Я хочу, чтобы пользователь мог начать с существующего ввода, поэтому вместо того, чтобы вводить все с нуля, у нее уже есть вход для редактирования. –
Это будет очень сложно реализовать ... Это не так, как обычно работают интерфейсы командной строки. Гораздо чаще используется опция по умолчанию (строка или список). Например, посмотрите, как работают ['tty-prompt'] (https://github.com/piotrmurach/tty-prompt) и [' highline'] (https://github.com/JEG2/highline) , –