我正在閱讀Hadley Wickham的Advanced R,其中提供了一些非常好的練習。其中一人要求說明這個功能:瞭解功能輸入參數的評估
f1 <- function(x = {y <- 1; 2}, y = 0) {
x + y
}
f1()
有人可以幫我理解爲什麼它返回3嗎?我知道有一種稱爲輸入參數的惰性評估,例如另一個練習要求說明這個功能
f2 <- function(x = z) {
z <- 100
x
}
f2()
我正確地預測是100; x
獲得值z
,該值在函數內被求值,然後返回x。但我無法弄清楚f1()
會發生什麼。
謝謝。
真正的答案是,任何編寫這樣的代碼的人都應該被迫觀看24小時唐納德特朗普的視頻,或者直到他們的眼睛融化,無論哪個人先來。 –
它不是任何代碼的一部分,但在練習:) – Celdor