In: строка без разрывов строки *
Разрешить пользователю редактировать и отправлять строку
Out: измененную строку (опционально с завершающим переводом строки)
Редактор строк должен как минимум позволить пользователю:
переместить видимый курсор влево и вправо
вставлять и / или перезаписывать символы в позиции курсора
удалить символы в позиции курсора
отправить новую строку, т.е. прекратить редактирование, заставить измененную строку вернуть / распечатать / отобразить / сохранить… (без другого текста)
Ценится, но не обязательно:
объяснение вашего кода.
ссылка на сайт онлайн-тестирования, который может продемонстрировать вашу программу / функцию
анимированное изображение, демонстрирующее использование (например, TIO не допускает интерактивность)
Замечания:
привязки клавиш только предложения
GUI или визуальный стиль не требуется
Примеры
Далее курсор обозначен с помощью _
.
In: Just some text
разрешить пользователю редактировать:
Just some text_
пользователь нажимает ←(левая клавиша со стрелкой) девять раз
Just ̲some text
пользователь нажимает Delчетыре раза
Just ̲ text
пользователь нажимает пользователь нажимает Out:any
Just any_text
Enter
Just any text
In: Remove me
разрешить пользователю редактирование:
Remove me_
пользователь нажимает Backspaceдевять раз.
_
Пользователь нажимает Out: (пустая строка)Enter
* Чтобы избежать тривиальных решений редактора, это должно быть либо предоставлено с помощью другого метода ввода, чем команды редактирования, или должно быть отделено от них новой строкой или аналогичным.