我认为我的错误是对R中函数的操作方式有误解,但我确实担心这可能会给我带来一些奇怪的结果。
如果我在函数外部声明了一个参数,它将覆盖函数调用中声明的所有参数。
x<- 6
example<- function(...){
print(x^2)
}
example()
返回36。我对此很好。
但是,如果我再次运行该函数并声明该变量,它将被忽略。
example(x =5)
仍然返回36。
我可以理解正在发生的事情,但是我真的不明白为什么。在这种情况下是否正在使用...不良做法?
如果我的功能是
example<- function(x){
print(x^2)
}
有效。
答案 0 :(得分:1)
理想情况下,您应该写的是:
CHECK (substr(image, 1, 8) = BYTEA '\x89504E470D0A1A0A')
example<- function(...){
x <- c(...)
x^2
}
example(5)
#[1] 25
example(5, 6)
#[1] 25 36
将返回空值,因为您没有传递任何内容。不要依赖全局变量在函数中求值。您应该在函数中显式传递变量。