1
我最近了解到R有詞彙和動態範圍可用,但默認情況下它使用詞法範圍。接下來的情況真的讓我感到困惑:R中的詞彙範圍
> x <- 1
> f <- function(y) { x + y }
> f(5) # we expect 6
[1] 6
> x <- 10
> f(5) # shouldn't we again expect 6?
[1] 15
不應該f
使用環境下進行評價它定義,而不是它被稱爲(和當時的!)?這個詞彙範圍如何?謝謝!
是的,我得到的那部分,但不應該它也使用環境*在當時*它被定義?我編輯了我的問題,以使這一部分更加清晰。 – Godel
我不確定自己爲什麼應該這樣做,因爲它會在每次通話時重新檢查環境。請記住'R'是在考慮交互式編程的基礎上開發的。 –
所以,在當時使用環境*你定義的地方不是詞法範圍定義的一部分嗎?或者這不是R使用的詞彙範圍? – Godel