Editor de texto, parte 1
Vamos a crear un editor de texto similar a Microsoft Word. El editor guarda automáticamente los cambios para que el usuario solo pierda una pequeña cantidad de datos si ocurre un fallo.
Queremos poder manejar tantas operaciones como sean necesarias, pero deben procesarse en orden. Hay dos operaciones básicas que nuestro editor entiende:
- Una operación de inserción contiene el texto que se insertará y la posición en la que se insertará.
- Una operación de eliminación contiene la posición desde la que se eliminará y la longitud del texto que se eliminará.
Escribe una función que reciba una lista de operaciones, ya sean de inserción o de eliminación, y devuelva el texto combinado.
Ejemplos
[Insert("foo", 0), Insert(" bar", 3)] ➞ "foo bar"
[Insert("foo bar", 0), Delete(4, 2)] ➞ "fobar"Notas
Ten en cuenta que cada operación tendrá datos que asumen que las operaciones anteriores ya se procesaron.