我有一个包,它是我组织内多个其他包的核心依赖项。我的目标是编写一个操作来自动化/促进这些反向依赖项的测试。粗略地说,该行动应该:
\n步骤 1 和 3 我开始工作,但我\xe2\x80\x99m 遇到了步骤 2 的问题。我当前的解决方案是对所有作业输出进行硬编码,以将结果从步骤 2 传递到步骤 3,但我想知道如果有办法避免硬编码。
\n以下示例工作流程说明了我的问题:
\nname: Test\non: push\n\njobs:\n unit-tests:\n runs-on: ${{ matrix.os }}\n continue-on-error: true\n\n name: ${{ matrix.os }} (${{ matrix.pkg }})\n\n strategy:\n fail-fast: false\n matrix:\n # there will be more pkgs and OSes\n os: [ubuntu-latest]\n pkg: [pkgA, pkgB]\n\n # how to avoid hardcoding these?\n outputs:\n ubuntu-latest-pkgA: ${{ steps.update-output.outputs.ubuntu-latest-pkgA }}\n ubuntu-latest-pkgB: ${{ steps.update-output.outputs.ubuntu-latest-pkgB }} \n \n …Run Code Online (Sandbox Code Playgroud) 考虑以下R脚本:
con <- socketConnection(host = "localhost", port = 8, server = TRUE, blocking = TRUE, open = "a+b")
close(con = con)
Run Code Online (Sandbox Code Playgroud)
将这些行保存为.R文件,然后从命令行运行它会产生(在Windows上)防火墙警告.至少,如果在第一次出现的"高级安全Windows防火墙"下没有R规则.我被告知在Mac上发生同样的情况,但我自己也无法验证.如何更改以允许localhost环回但避免弹出窗口?
上下文:我为使用并行处理的人(在一台本地机器上)编写了一些代码.然而,这个警告突然出现在他们的屏幕上,他们开始怀疑.愚蠢的是,即使人们点击否或忽略弹出窗口,并行处理似乎仍然有效.我认为这是一个迹象,表明可以修改此代码,以便不提供此弹出窗口并仍然可以正常运行.
我已经看到了在其他语言非常类似的问题(1,2,3),我想知道是否有可能做R.相同
我正在使用一个函数进行错误处理,该函数在另一个函数中使用。这看起来像:
foo <- function() {
fooo <- function () {
stop('Hello World')
}
fooo()
}
Run Code Online (Sandbox Code Playgroud)
现在,在调用 时foo(),R 将提供回溯选项。但是,如果 onlyfooo()被调用(首先将其作为独立函数运行之后),该stop()函数将产生一条错误消息,而不会回溯。理想情况下,我会阻止 R 生成回溯选项并仅将错误消息打印到控制台。那么..我该怎么做呢?
我有一些ggplot功能,但我想给用户一个警告,以防他们大量滥用它.问题是这样的:如果有很多组并且组名很长,则图例变得如此之大以至于占据了整个图:
但如果我要改变剧情名称,我会得到:
我有的是:
我想用这些来估计图例占用的总面积(所以如果比例图例大小/图尺寸太大,我可以发出警告).这是我用来创建数字的一些示例代码:
library(ggplot2)
# stolen from https://ryouready.wordpress.com/2008/12/18/generate-random-string-name/
MHmakeRandomString <- function(n=1, lenght=12) {
randomString <- c(1:n)
for (i in 1:n)
{
randomString[i] <- paste(sample(c(0:9, letters, LETTERS),
lenght, replace=TRUE),
collapse="")
}
return(randomString)
}
makeData <- function(k, useLongNames = FALSE) {
x <- c(1, 100)
X <- cbind(1, x)
b <- matrix(rnorm(2*k), k, 2)
y <- numeric(2*k)
for (i in seq_len(k))
y[1:2 + 2*(i-1)] <- X %*% b[i, ]
df <- data.frame(x = c(1, n), y = …Run Code Online (Sandbox Code Playgroud)