In: una cadena sin saltos de línea *
Permitir al usuario editar y enviar la línea
Out: la cadena modificada (opcionalmente con un salto de línea final)
El editor de línea debe, como mínimo, permitir al usuario:
mover un cursor visible hacia la izquierda y hacia la derecha
insertar y / o sobrescribir caracteres en la posición del cursor
eliminar caracteres en la posición del cursor
enviar la nueva cadena, es decir, dejar de editar, la cadena modificada se devolverá / imprimirá / mostrará / guardará ... (sin otro texto)
Apreciado, pero no requerido:
explicación de tu código.
enlace a un sitio de prueba en línea que puede demostrar su programa / función
Una imagen animada que demuestra el uso (TIO, por ejemplo, no permite la interactividad)
Nota:
las combinaciones de teclas son solo sugerencias
No se requiere GUI o estilo visual
Ejemplos
A continuación, el cursor se ilustra con _
.
In: Just some text
permite al usuario editar: el
Just some text_
usuario presiona ←(tecla de flecha izquierda) nueve veces El
Just ̲some text
usuario presiona Delcuatro veces El
Just ̲ text
usuario presiona El usuario presiona Out:any
Just any_text
Enter
Just any text
In: Remove me
permite al usuario editar: el
Remove me_
usuario presiona Backspacenueve veces El
_
usuario presiona Out: (cadena vacía)Enter
* Para evitar soluciones triviales del editor, esto debe proporcionarse a través de un método de entrada diferente al de los comandos de edición, o debe separarse de ellos mediante una nueva línea o similar.