【问题标题】:How to judge whether function completed in R?如何判断功能是否在R中完成?
【发布时间】:2020-06-22 08:52:21
【问题描述】:

我想在功能完成(成功运行)或未完成(错误)时自动beep()

this post,options(error = beep)可以在函数未完成时使用。
addTaskCallback将在每次顶级任务完成时被调用。

那么,如何知道函数完成了呢?

【问题讨论】:

  • 作为函数的第一行代码,on.exit(beep())

标签: r


【解决方案1】:

有一个包beepr,另见here

beepr 是一个 R 包,包含一个函数beep(),其中一个 目的:方便在任何设备上播放通知声音 你所在的平台。它旨在有用,例如,如果您 在后台运行长时间的分析,想知道什么时候 准备好了。

另见this SO answer

以下代码将发出 5 次哔哔声,每次调用 f 一次。这是因为 beep() 位于 on.exit 中,就像名字所说的那样,在函数退出时执行其参数。

f <- function(x){
  on.exit(beepr::beep())
  Sys.sleep(x)
}
g <- function(s) {
  for(i in 1:5) {
    f(s)
  }
}

g(1)

【讨论】:

  • 是否有不改变R脚本的解决方案,如options(error = beep)
  • 我不确定是否有类似options(on.exit = beep)的东西?
猜你喜欢
  • 2012-01-24
  • 1970-01-01
  • 1970-01-01
  • 2019-07-14
  • 1970-01-01
  • 1970-01-01
  • 2015-11-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多