爲什麼以下工作:傳遞一個匿名函數作爲參數
foo <- function(x) {x}
curve(foo)
# plots the identity function between 0 and 1
這並不:
curve(function(x) {x})
誤差曲線(函數(X){: 'expr的'沒有評估長度爲'n'的物體
而且還有
# the anonymous function can be called
foo(1) #1
(function(x) x)(1) #1
all.equal(foo, function(x) {x})
# TRUE
我嘗試過不同結果的「quote()」和「expression()」的各種組合。
from'?curve':expr:函數的名稱或調用或表達式作爲X。所以'曲線({x})'例如。你只需要刪除'function(x)'。您也可以刪除括號。 – etienne
哦,我已經閱讀了幫助文檔,但它讓我嘗試了'curve(x)'和'curve(quote(x))'這兩個都失敗了...... –
因爲'x'本身不是一個函數,所以需要括號,但你可以使用'curve(sin(x))'或'curve({sin(x)})'來說明我關於刪除括號的意見。 – etienne