2016-09-22 20 views
0

私はRパッケージを作成しています。最近archived CRANのfalsyパッケージに依存したいと思います。パッケージにアーカイブ済みCRANパッケージを含める

アーカイブされていないパッケージでは、通常、DESCRIPTIONファイルのImportsリストにパッケージの名前を追加します。 CRANによってアーカイブされたパッケージをどのようにインポートしますか?

注:Gáborに連絡した後、偽りがアーカイブされた理由は、ネイティブと虚偽のfalsyという概念の間に潜在的に危険なためです。inconsistencies彼はパッケージを解凍するつもりはない。

+0

[This](http://stackoverflow.com/a/32533483/324364)はあなたが探している答えかもしれません...? – joran

+0

これは間違いなく解決策ですが、理想的なソリューションはエンドユーザー側では何もする必要はありません。 – user12341234

+0

その質問に対するコメントはgithub上で独自の** drat ** repoを作成するオプションについても議論しています。 – joran

答えて

0

この:

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コメント)です。なぜあなたのパッケージにそれを含めるだけではないのですか?

ガボールにCRANに再リリースする予定があるのか​​、メンテナンスを引き継ぐことができるかどうか尋ねることはできますか?

+0

私はGaborに連絡して、返信を待っています。私はコードの重複が本質的に悪いと思うので、ソースを直接コピーすることを躊躇しています。 – user12341234

+0

**アーカイブされたパッケージに頼っているよりも**かなり**良いです。 – hrbrmstr

+0

興味深い。それを言う理由は何ですか? – user12341234

関連する問題