簡體   English   中英

R:如何將默認參數傳遞給函數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM