Начните новый сеанс R с пустой средой. Напишите ряд функций с параметром, который должен использоваться как значение параметра times
при вызове rep()
.
f <- function(n) {
rep("hello", times = n)
}
f(x)
Ожидайте, что это провалится, и действительно получится:
# Error in f(x) : object 'x' not found
Измените функцию немного:
f2 <- function(n) {
ls.str()
rep("hello", times = n)
}
f2(x)
Как и ожидалось, он все равно не работает:
# Error in f2(x) : object 'x' not found
Измените немного больше (чтобы увидеть среду в консоли):
f3 <- function(n) {
print(ls.str())
rep("hello", times = n)
}
f3(x)
Я все еще ожидаю неудачу, но вместо этого получаю:
## n : <missing>
## [1] "hello"
Это как если бы вызов print()
заставлял rep работать, как будто times
было установлено в 1.