私は最近、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
れた環境を使用して評価されるべきではありませんか? このレキシカルスコープはどうですか?ありがとう!