r - 提示将输入字符串放入变量 - R
问题描述
我每天都在运行一个 R 脚本,我想在选择所有整个脚本时提示我输入数据。
我已经尝试过了readline(prompt = )
,它在rstudio控制台中提示,但是如果我选择所有要运行的代码,它不会提示我。我也不喜欢控制台中的提示,因为它很容易被忽略。
我也研究library(tcltk)
过,希望消息框可以提供帮助,但我尝试过的任何方法似乎都不起作用。
解决方案
这是一种使用方法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
推荐阅读
- perl - 如何使用 perl 正确解析我的 txt 文件中的行
- javascript - Three.js 错误 --> THREE.Scene 不是构造函数
- java - 解锁锁定同步块的可靠方法
- matlab - 检查边界内的值
- javascript - 如何为表格内开始时间和结束时间之间的剩余时间创建实时倒计时效果?
- reactjs - React Native - 是否可以控制 ScrollView 滚动的速度
- python - 如何防止seaborn FacetGrid在包裹时重叠
- javascript - 将多个子域重定向到不同的特定 index.php 文件
- bots - 如何只允许某些用户使用命令
- javascript - 将新文本添加到待办事项列表时出现问题