Предложите поместить входную строку в переменную - R - PullRequest
0 голосов
/ 04 декабря 2018

Я ежедневно запускаю R-скрипт, который хотел бы попросить меня ввести данные при выборе всего скрипта.

Я уже попробовал readline(prompt = ), который запрашивает консоль rstudio, но не выдает подсказку, выбираю ли я весь код для запуска.Мне также не понравилось, что подсказка была в консоли, потому что ее было легко пропустить.

Я также посмотрел на library(tcltk) в надежде, что окно сообщения может помочь, но все, что я пробовал, казалось, не сработало.

1 Ответ

0 голосов
/ 05 декабря 2018

Вот метод, использующий library(tcltk)

EntryBox <- function(label = 'Enter', title = 'Entry Box') {
    tt <- tktoplevel()
    tkwm.title(tt, title)   
    done <- tclVar(0)
    tkbind(tt,"<Destroy>", function() tclvalue(done) <- 2)
    result <- tclVar("")
    cancel.but <- tkbutton(tt, text='Cancel', command=function() tclvalue(done) <- 2)
    submit.but <- tkbutton(tt, text="Submit", command=function() tclvalue(done) <- 1)
    tkgrid(tklabel(tt, text=label),  tkentry(tt, textvariable=result), pady=3, padx=3)
    tkgrid(submit.but, cancel.but, pady=3, padx=3)
    tkfocus(tt)
    tkwait.variable(done)
    if(tclvalue(done) != 1) result <- "" else result <- tclvalue(result)
    tkdestroy(tt)
  return(result)
}

x <- EntryBox(label = 'Enter a string'); x
...