이 :
FALSY <- FALSE
TRUTHY <- TRUE
is_falsy <- function(object) {
is.null(object) ||
identical(object, FALSE) ||
identical(object, 0L) ||
identical(object, 0.0) ||
identical(object, 0+0i) ||
identical(object, "") ||
identical(object, as.raw(0)) ||
identical(object, logical()) ||
identical(object, integer()) ||
identical(object, double()) ||
identical(object, complex()) ||
identical(object, character()) ||
identical(object, raw()) ||
identical(object, list()) ||
inherits(object, "try-error")
}
is_truthy <- function(object) {
! is_falsy(object)
}
`%&&%` <- function(lhs, rhs) {
lres <- withVisible(eval(lhs, envir = parent.frame()))
if (is_truthy(lres$value)) {
eval(rhs, envir = parent.frame())
} else {
if (lres$visible) { lres$value } else { invisible(lres$value) }
}
}
nay <- function(rhs) {
if (is_falsy(rhs)) { TRUTHY } else { FALSY }
}
try_quietly <- function(expr) {
try(expr, silent = TRUE)
}
패키지의 전체 범위 (마이너스 roxygen 댓글)이다. 왜 패키지에 포함시키지 않습니까?
Gabor에게 CRAN에 다시 공개 할 것인지 또는 유지 관리를 맡을 수 있는지 물어보십시오.
[This] (http://stackoverflow.com/a/32533483/324364) 당신이 찾고있는 답변 일 수도 있습니다 ...? – joran
그건 분명히 솔루션이지만, 이상적인 솔루션은 최종 사용자 입장에서 어떤 조치도 필요하지 않습니다. – user12341234
그 질문에 대한 의견은 github에서 ** drat ** repo를 직접 작성하는 옵션에 대해서도 설명합니다. github에서는 더 잘 작동 할 수 있지만 사용자에게는 적을 수 있습니다. – joran