Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个可能需要很长时间的功能。
我想知道是否有一种更简洁的方法来停止该功能,而不是像这样:
repeat{ time1 <- Sys.time() myfunction(x,y,z,...) time2 <- Sys.time() if(time2 - time1 > my.time.limit) { break } }
R.utils包中有一个evalWithTimeout函数。你可以像这样使用它:
evalWithTimeout
require("R.utils") evalWithTimeout({ repeat{ myfunction(x,y,z,...) } }, timeout=my.time.limit, onTimeout="warning")
运行example(evalWithTimeout)以查看其他使用方法。
example(evalWithTimeout)