Странное поведение закрытия с печатью - PullRequest
0 голосов
/ 20 апреля 2019

В следующем коде R, если я закомментирую строку print(i), результат будет

3
3
3

Но с print результат будет

1
2
3

Я не могу понять, почему? Как печать влияет на результат? Спасибо!

f <- vector('list',3)
# set the i'th function to return i
for(i in 1:length(f)) {
  f[[i]] <- (function(i){
    # STRANGE HERE!
    print(i)
    function(){i}
  })(i)
}
# apply the functions using a different loop variable
for(j in 1:length(f)) {
  print(f[[j]]())
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...