說我有這樣的代碼:評估switch語句中的匿名函數(S)
tmp <- switch("b",
a = print("foo"),
b = function() paste("I want to evaluate this one!"),
stop("say what now?")
)
現在,如果我型tmp
我得到一個未計算的功能,所以我必須做的添加一對括號之後爲了評價它:
tmp
## function() paste("I want to evaluate this one!")
tmp()
## [1] "I want to evaluate this one!"
當然,我可以預先設置這個功能和內switch
通過它(在它不是匿名的話),但我想知道是否有可能和/或合理的評估匿名功能在switch
聲明中。
我很努力想知道爲什麼'b'不能只是粘貼(「我想評估這個!」),即得到R來評估該語句,以提供一個返回的對象,將得到傳遞給'tmp'?如果最終結果是將評估結果放在'tmp'中,我沒有明白爲什麼要這樣做?你能提供更多的信息或解釋嗎? – 2011-02-25 14:28:20
AFAIK這是默認行爲(打印對象)。 – 2011-02-25 14:41:45