私は1つの問題に遭遇しました:
temp.fun <- function() {}
as.character(temp.fun)
エラーが発生します。関数を文字に「変換」できない理由がわかりました。as.character
問題は、メソッドが自分で定義した文字列を返すように関数に追加するプロパティは何ですか?
どうもありがとう!
deparse
助けられる:
> deparse( temp.fun )
[1] "function () " "{" "}"
コメントの詳細をさらに進めると、できることはfunction
、関数の代わりに派生してこれを渡すクラスを作成することです。
setClass( "myFunction", contains = "function" )
setMethod( "as.character", "myFunction", function(x, ...){
deparse( unclass( x ) )
} )
そのため、関数をサードパーティ パッケージに渡すときは、myFunction
代わりにa を渡します。
f <- new( "myFunction", function(){} )
as.character(f)
# [1] "function () " "{" "}"