readline вставляет разрыв строки перед приглашением в консоли R

#r

#r

Вопрос:

Как я могу получить ввод с клавиатуры пользователя в текущей строке консоли R?
У меня есть предыдущий вывод из cat, и теперь мне нужно a readline(prompt="") в той же строке.
Т.Е. перед приглашением не должно быть разрыва строки.

Я cat("Dummy") ; readline("r Type sth: ") пытался безрезультатно.

Я не могу включить «Фиктивный» в вызов приглашения, поскольку предполагается, что это двухэтапный процесс (некоторая информация в консоли, запрос пользовательского ввода, дополнительная информация в той же строке, запрос второго пользовательского ввода).

Редактировать: я придумал кое-что, что технически работает, но не элегантно:

 {
cat("14") # clear the entire console
p1 <- readline("prompt1: ")
cat("14") # clear again, then repeat previous text
p2 <- readline(paste0("promt1: ", p1, ". prompt2: "))
}
 

По-прежнему требуется вариант без очистки консоли.

Комментарии:

1. Если я правильно понимаю, если вы включаете это в функцию с именем func , то, когда пользователь вводит и видит: > func() , вы хотите, чтобы это было удалено / перезаписано Type sth: . Это правильно? (Кстати: readLine (верхний-L), не удалось найти функцию, вы имеете в виду readline (нижний-L)`?)

2. да, строчная буква L — изменила ее в вопросе. Tpe sth должно быть добавлено к существующей строке.

3. Когда вы вводите функцию, вам нужно нажать enter, чтобы интерпретатор проанализировал и выполнил то, что вы ввели. Это само по себе добавляет CR (и LF), прежде чем интерпретатор даже получит шанс на это. Поэтому я не думаю, что то, что вы просите, выполнимо для большинства (если не для всех) R IDE (например, RStudio desktop / web-client, emacs / ess, Jupyter). Почему именно вы хотите такого поведения? Это кажется немного эзотерическим и, возможно (я здесь растягиваю), эстетическим.

4. На самом деле это делается для проверки прогресса в обучении: отображается вопрос, также вводится ответ, и на последнем шаге записывается субъективная оценка успеха. На данный момент я придерживаюсь очистки консоли, потому что остальное действительно вопрос эстетики. Спасибо за объяснение!

5. Вы нашли решение этой проблемы нежелательной строки разрыва с readline помощью? У меня такая же проблема