R 如果q是用户定义的,那么调用'q()'时预期的行为是什么?

R 如果q是用户定义的,那么调用'q()'时预期的行为是什么?,r,windows,rstudio,language-lawyer,R,Windows,Rstudio,Language Lawyer,函数q()终止当前的R会话。但它不是一个保留字,所以 q <- function(x) x + 1 q我在我的RStudio(版本0.99.1190——最新预览版本)上没有这种行为。也就是说,重新定义q给了我43。对我来说也不可复制。在这种情况下,对q(42)的调用返回43(无论是在RStudio中运行-我使用的是v.0.99.902-还是在R shell中运行)。尝试在控制台中键入不带括号的q,以检查您的函数是否在全局环境中定义。我也在使用RStudio版本0.99.902,感谢您提供

函数
q()
终止当前的R会话。但它不是一个保留字,所以

q <- function(x) x + 1

q我在我的RStudio(版本0.99.1190——最新预览版本)上没有这种行为。也就是说,重新定义
q
给了我43。对我来说也不可复制。在这种情况下,对q(42)的调用返回43(无论是在RStudio中运行-我使用的是v.0.99.902-还是在R shell中运行)。尝试在控制台中键入不带括号的
q
,以检查您的函数是否在全局环境中定义。我也在使用RStudio版本
0.99.902
,感谢您提供此信息。在这种情况下,我不明白你为什么观察这种行为。我主要是在Linux上工作,那里没有出现问题。现在我尝试在Windows10上使用RStudioV0.99.902重现这种情况,我可以确认这个错误。也许你应该提交一份bug报告。好的。我通过电子邮件发送了一份bug报告(github页面似乎没有问题)。谢谢你帮我繁殖。