r - 将“y 确认”确认对话框添加到 R 函数?
问题描述
对于某些 R 函数,提示用户确认他们确定他们确实想要运行该函数可能很有用。例如,一些很少运行的函数,几乎可以肯定会以交互方式运行(即在用户在场的情况下),并且会执行不可逆的操作,例如从文件系统中清除临时文件等。
有没有办法提示用户在 R 函数中进行键盘输入,这样用户必须按“y”继续(或“n”忽略,“c”取消等)
somefunction <- function() {
# -- code for prompt for user confirmation --
# some irreversible actions
# e.g. file.remove(...)
}
解决方案
为什么不是一个简单的readline
函数来获取用户的输入?
checkFunction <- function() {
user_input <- readline("Are you sure you want to run this? (y/n) ")
if(user_input != 'y') stop('Exiting since you did not press y')
print('Do something')
}
checkFunction()
#Are you sure you want to run this? (y/n) y
#[1] "Do something"
checkFunction()
#Are you sure you want to run this? (y/n) n
#Error in checkFunction() : Exiting since you did not press y
推荐阅读
- ios - 如何让我的路径看起来更像苹果或谷歌在地图上绘制他们的路径?
- time-series - 如何正确地从 tfrecords 准备数据集以使用 tf. 数据集API?
- android - 窗口管理器仅在三星中崩溃
- javascript - 如何在 EJS 上显示 Mongoose Schema
- python - 如何使用 move() 在 python 中获取\移动具有特定名称的文件
- c - 为什么当我删除 vpath 指令时这个 makefile 会失败?
- excel - 超链接仅适用于 VBA 中的某些单元格
- javascript - 什么渲染速度快?fillRect() 与 moveTo()、lineTo()、stroke()?
- java - 是否有一个库可以将任何字符串转换为符合代码约定的有效类名
- postgresql - 如何在PostgreSQL中基于json列搜索列