[英]R: How default argument is passed to a function?
在.GlobalEnv中,我定義了以下變量和函數
x = 0;
foo <- function(t=x) {x=1; t}
當我以下列方式調用該函數時
foo() # gives 1
foo(t=x) # gives 0
有人可以幫忙解釋一下嗎? 謝謝!!!
將評論作為答案:
在第一種情況下,函數知道它需要將x
傳遞給t
。 它正在尋找x
在其詞法范圍,發現x=1
。 在第二種情況下,您從全局環境傳遞x=0
,因此它不再在詞法范圍中查找它並將其直接傳遞給t
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.